7

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

谢谢!

4

5 回答 5

11

你应该使用:

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

因为 rspec 库没有按应有的方式命名...

于 2009-04-08T09:30:26.450 回答
4

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

which ruby
which gem

就在前一周,我遇到了类似的问题,不得不重命名原始的 gem 二进制文件,这样它才能找到 MacPorts 安装的那个。

于 2009-02-15T01:56:12.577 回答
3

这个 railswiki-entry 提供了很多关于处理多个 gem 存储库的见解。也许你在那里找到了解决你问题的线索。希望能帮助到你

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

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

于 2009-02-14T22:52:33.047 回答
0

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

于 2009-02-14T22:52:17.777 回答
0

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

/path/to/ruby -S <command>

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

于 2009-02-26T11:05:47.160 回答