我已经构建了我的第一个 gem,但我似乎无法正确安装它。我可以发出命令
sudo gem install ceilingfish-toto
产生输出
Successfully installed ceilingfish-toto-0.3.6
1 gem installed
但是当我输入gem which ceilingfish-toto
。我得到输出
Can't find ruby library file or shared library ceilingfish-toto
这很奇怪,因为如果我去查看我的 gems 文件夹,我可以看到安装在那里的所有文件
# ls -l /opt/local/lib/ruby/gems/1.8/gems/ceilingfish-toto-0.3.6/
total 48
-rw-r--r-- 1 root admin 1053 14 Feb 17:16 LICENSE
-rw-r--r-- 1 root admin 6166 14 Feb 17:16 README.md
-rw-r--r-- 1 root admin 879 14 Feb 17:16 Rakefile
-rw-r--r-- 1 root admin 6 14 Feb 17:16 VERSION
-rw-r--r-- 1 root admin 2477 14 Feb 17:16 ceilingfish-toto.gemspec
drwxr-xr-x 7 root admin 238 14 Feb 17:16 test
有谁知道这可能是什么原因造成的?我认为它在抱怨,因为宝石名称中有一个连字符。您可以在此处查看 gemspechttp://github.com/ceilingfish/toto
这不是连字符。
gem which
搜索gems 中的库文件,而不是 gems。比较:
$ gem which haml
/home/dave/.gem/ruby/1.8/gems/haml-3.0.12/lib/haml.rb
$ ls haml-3.0.12/lib/h*
haml haml.rb haml.rbc
桃色的。注意存在lib/haml.rb
.
$ gem which rails
ERROR: Can't find ruby library file or shared library rails
$ ls rails-2.3.8/lib/r*
rails_generator.rb railties_path.rb rubyprof_ext.rb ruby_version_check.rb
没有lib/rails.rb
。但尝试一下:
$ gem which railties_path # not a gem
/home/dave/.gem/ruby/1.8/gems/rails-2.3.8/lib/railties_path.rb
So gem which ceilingfish-toto
即使当ceilingfish-toto
已安装,因为没有lib/ceilingfish-toto.rb
文件(甚至没有lib
文件夹)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)