我得到“缺少这些所需的宝石”,但宝石安装

问题描述:

因为我使用Mac端口(在Leopard上)更新了红宝石我有几个问题,我也必须重新安装宝石。现在,当我运行Mongrel时,我不断收到错误“丢失了这些必需的宝石”,后面跟着我在environment.rb中需要的宝石列表,但是看到正在运行gem list的宝石似乎已正确安装。 我认为rails正在寻找以前的安装,但我不知道如何配置它以使用新的ruby/gem路径。我得到“缺少这些所需的宝石”,但宝石安装

谢谢!

在终端试试这个,看看路径是否相似:

which ruby 
which gem 

我只是一周也有类似的问题,而不得不重命名原始二进制宝石所以它会找到的MacPorts插件滑了一个。

+0

$哪ruby /opt/local/bin/ruby​​ $ which gem /opt/local/bin/gem – collimarco 2009-02-15 12:14:26

+0

亲爱的卢克,你能为我提供更多的信息,谢谢! – imcc 2011-08-07 04:42:48

您确定gem命令实际上是MacPorts安装的命令,而不是OSX包含的默认命令?

+0

我认为这是一个通过MacPorts的安装:打字“的宝石”我知道“的/ opt/local/bin目录/宝石”。看来,铁轨不使用相同的宝石作为命令行“宝石”。 – collimarco 2009-02-15 12:18:54

此railswiki条目为处理多个宝石库提供了很多洞察。也许你会在那里找到解决问题的线索。 希望它可以帮助

http://wiki.rubyonrails.org/rails/pages/HowToUseMultipleGemRepositories

更新: 上面的链接断开,该文本已经保存在这里虽然: http://tek-zappeln.blogspot.com/2009/02/howtousemultiplegemrepositories-rescued.html

+0

链接似乎被打破 – Jonathan 2010-03-26 21:32:20

您可以强制其使用Ruby的特定版本:

/path/to/ruby -S <command> 

你可能会迫使你的Rails应用程序开始使用任何你想要的红宝石的版本,你也可以用它来运行你的宝石列表命令并确保在运行rails之前拥有正确的gem。

你应该使用:

config.gem 'rspec', :lib => 'spec' 
    config.gem 'rspec-rails', :lib => 'spec/rails' 

因为RSpec的库没有被命名,因为它应该...