2009-02-14 132 views
7

因爲我使用Mac端口(在Leopard上)更新了紅寶石我有幾個問題,我也必須重新安裝寶石。現在,當我運行Mongrel時,我不斷收到錯誤「丟失了這些必需的寶石」,後面跟着我在environment.rb中需要的寶石列表,但是看到正在運行gem list的寶石似乎已正確安裝。 我認爲rails正在尋找以前的安裝,但我不知道如何配置它以使用新的ruby/gem路徑。我得到「缺少這些所需的寶石」,但寶石安裝

謝謝!

回答

4

在終端試試這個,看看路徑是否相似:

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

0

您確定gem命令實際上是MacPorts安裝的命令,而不是OSX包含的默認命令?

+0

我認爲這是一個通過MacPorts的安裝:打字「的寶石」我知道「的/ opt/local/bin目錄/寶石」。看來,鐵軌不使用相同的寶石作爲命令行「寶石」。 – collimarco 2009-02-15 12:18:54

0

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

/path/to/ruby -S <command> 

你可能會迫使你的Rails應用程序開始使用任何你想要的紅寶石的版本,你也可以用它來運行你的寶石列表命令並確保在運行rails之前擁有正確的gem。

10

你應該使用:

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

因爲RSpec的庫沒有被命名,因爲它應該...