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

时间:2009-02-14 20:42:31

标签: ruby-on-rails ruby rubygems

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

谢谢!

5 个答案:

答案 0 :(得分:11)

您应该使用:

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

因为rspec libs没有命名,因为它应该......

答案 1 :(得分:4)

在终端尝试此操作,查看路径是否相似:

which ruby
which gem

我在另一周遇到了类似的问题,并且不得不重命名原始的gem二进制文件,以便找到安装了MacPorts的版本。

答案 2 :(得分:3)

这个railswiki-entry提供了对多个gem-repositories处理的大量见解。也许你找到了解决问题的线索。 希望它有所帮助

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

更新: 以上链接已损坏,文本已保存在此处: http://tek-zappeln.blogspot.com/2009/02/howtousemultiplegemrepositories-rescued.html

答案 3 :(得分:0)

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

答案 4 :(得分:0)

您可以强制它使用特定版本的ruby:

/path/to/ruby -S <command>

您可以强制您的rails应用程序开始使用您想要的任何版本的ruby,您也可以使用它来运行gem list命令并确保在运行rails之前拥有正确的gem。