我正在尝试运行导入gem的ruby文件。安装了ya2yaml gem,但不知何故找不到它:
$ cat delme.rb require 'rubygems' require 'ya2yaml' $ ruby delme.rb /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- ya2yaml (LoadError) from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require' from delme.rb:2
我使用以下命令安装了gem:
sudo gem install ya2yaml我知道gem实际安装了:
$ gem list --local | grep ya2yaml ya2yaml (0.26)
此外,以下是我刚刚下载的rails程序的作品:
sudo rake gems但是,以下操作失败:
rake gems这让我觉得某处可能存在权限问题。
为什么不能找到宝石?我该怎么做才能诊断出来?
谢谢!
答案 0 :(得分:1)
我会在这种情况下做的事情:
在您的系统上搜索gem的位置。使用此命令:
find / -name ya2yaml
通过执行以下操作,检查找到的目录是否已添加到PATH系统变量中:
echo $ PATH
如果ya2yaml gem所在的路径未在PATH变量的值中列出,请添加它:
PATH = $ PATH:/宝石/位置/目录
导出路径
我希望您会发现这些步骤很有帮助。祝你好运!
答案 1 :(得分:0)
我以前肯定见过这个错误。不幸的是我不知道是什么原因造成的。我知道如果你在Linux上看到它并且你已经通过你的软件包管理器(synaptic / yum / etc)安装了gem,那么你通常可以通过手工从他们的网站安装gem来修复它。那里的说明很简单。
(你的命令行看起来是unix-y,所以在我看来你可能在Linux上。如果你在Mac上,那么无论如何都值得尝试。)
更新:Linux,然后。 TA
答案 2 :(得分:0)
而不是在delme.rb中使用require 'rubygems'
,尝试使用-rubygems启动ruby:
$ ruby -rubygems delme.rb