【问题标题】:What's wrong with my ruby gems setup?我的红宝石设置有什么问题?
【发布时间】:2011-01-22 04:05:24
【问题描述】:

我正在尝试运行一个导入 gem 的 ruby​​ 文件。 ya2yaml gem 已安装,但不知何故找不到:

$猫delme.rb 需要“红宝石” 需要'ya2yaml' $红宝石delme.rb /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require': 没有要加载的文件 -- ya2yaml (LoadError) 来自 /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require' 来自 delme.rb:2

我使用以下方式安装了 gem:

sudo gem install ya2yaml
我知道 gem 已经安装好了:
$ 宝石列表 --local | grep ya2yaml
ya2yaml (0.26)

另外,以下是我刚刚下载的 rails 程序的作品:

须藤耙宝石 但是以下失败:
rake gems
这使我认为某处可能存在权限问题。

为什么找不到宝石?我该怎么做才能诊断?

谢谢!

【问题讨论】:

  • 其他宝石是否正常工作?
  • 有些可以,有些不可以。下面列出了许多有问题的 gem: for gem in gem list --local | sed -e "s/ .*//";做 ruby​​ -rrubygems -e "需要'$gem'";完成 | grep '没有要加载的文件'
  • 对不起,我不能再帮你了。但是,为了帮助其他人识别您的问题,您可能需要指出您的 ruby​​ 版本、操作系统以及您安装 ruby​​ 的方式。
  • 可以工作的gem和安装在不同位置的gem吗? ~/.gemrc 文件中的 gemhomegempath 是什么?
  • 更新: 我想我已经弄清楚了,我认为这与 Mac OS 附带的 ruby​​ 和我拥有的 ruby​​ 的错误混合有关通过 MacPorts 安装。我使用
    gem list -d
    查看了我的 gem 列表,发现我的 gem 已安装到多个目录中,这让我觉得我应该尝试合并它们。因此,我从系统中删除了所有 gem,安装了 rvm,然后重新安装了我的 gem,现在似乎一切正常。谢谢你们的帮助。

标签: ruby rubygems


【解决方案1】:

我之前肯定见过这个错误。不幸的是,我不知道是什么原因造成的。我确实知道,如果您在 Linux 上看到它并且您已经通过包管理器(synaptic / yum / 等)安装了 gem,那么您通常可以通过从他们的网站手动安装 gem 来修复它。那里的说明非常简单。

(你的命令行看起来像 unix-y,所以在我看来你可能在 Linux 上。如果你在 Mac 上,无论如何都值得一试。)

更新:Linux,然后。塔。

【讨论】:

    【解决方案2】:

    尝试使用 -rubygems 启动 ruby​​,而不是 delme.rb 中的 require 'rubygems'

    $ ruby -rubygems delme.rb
    

    【讨论】:

      【解决方案3】:

      在这种情况下我会做的事情:

      1. 在您的系统上搜索 gem 的位置。使用这个命令:

        查找/-name ya2yaml

      2. 通过执行以下操作检查找到的目录是否已添加到您的 PATH 系统变量中:

        回显 $PATH

      3. 如果 PATH 变量的值中没有列出 ya2yaml gem 所在的路径,则添加:

        PATH=$PATH:/gem/location/directory

        导出路径

      希望这些步骤对您有所帮助。祝你好运!

      【讨论】:

        猜你喜欢
        • 2016-05-16
        • 2015-09-28
        • 2013-01-18
        • 2016-03-23
        • 1970-01-01
        • 2010-11-26
        • 2011-01-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多