ruby – 尽管安装了宝石,却找不到宝石

我已经构建了我的第一个宝石,但我似乎无法正确安装它.我可以发出命令
sudo gem install ceilingfish-toto

哪个产生输出

Successfully installed ceilingfish-toto-0.3.6
1 gem installed

但是当我输入gemfish-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

有谁知道是什么原因引起的?我认为这是抱怨,因为宝石名称中有一个连字符.你可以在这里看到gemspec http://github.com/ceilingfish/toto

解决方法

ceilingfish-toto通过gem查找的gem需要一个名为ceilingfish-toto.rb的文件的路径.由于没有一个,它什么都不返回.什么对你有用的是gem,但是由于lib /不包含在你的gem规范中,所以没有安装lib文件,所以它不存在.

重新运行rake gemspec可能会解决问题.

顺便说一下,您可以使用gem list ceilingfish-toto检查gem是否按其名称安装,它应该显示它已安装,无论它有什么文件(它还会列出已安装的版本).

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...