2013-09-05 170 views
1

我現在的環境出現了一個非常奇怪的問題。沒有這樣的紅寶石版本

我使用rbenv,我有我的全局和局部紅寶石的版本號爲1.9.3紅寶石-P448

我甚至可以運行:

$ ruby -v 
ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-darwin12.3.0] 

我的包工作得很好,但當我運行:

bundle exec rails server 

我得到:

env: ruby1.9.1: No such file or directory 

我知道這是一個項目特定的問題,因爲我可以啓動其他rails服務器就好了。我猜這意味着我的項目不知怎麼試圖鏈接我的紅寶石1.9.3與ruby1.9.1

有沒有人有任何調試的想法?我覺得我已經嘗試了一切。 =/

+0

我有同樣的問題。我也無法解決。 – aisensiy

回答

0

事實證明,有項目,.bundle /配置文件,即說:

BUNDLE_PATH: vendor/bundle 

我參加了廠商/包一看,果然有兩個目錄,1.8.7和1.9.1

我一定要得到我的項目與1.9.3的工作,我要麼必須創建一個新的目錄e,或者從我的.bundle配置中刪除bundle路徑。

要解決這個問題,我只需要安裝1.9.1。 O_o

0

您可能在項目中的Gemfile或.ruby-version.rbenv-version文件中有ruby聲明,指定您沒有的Ruby文件。

+0

沒有。我的Gemfile.lock沒有提及特定的ruby,我的.ruby-version文件說1.9.3-p448 – BananaNeil

+2

'Gemfile.lock'不會有,'Gemfile'可能。如果不是的話,我會嘗試一些類似「find」的東西。 -type f -exec grep -iH ruby​​1.9.1 {} \;'挖掘並找到它。 –

+0

如果它在Gemfile中,我很確定它會在Gemfile.lock中。也就是說,你的find命令確實有幫助,我會單獨發佈完整答案。謝謝。 – BananaNeil

0

只是爲了確保你擁有了它在當前的環境中的紅寶石,這樣做:

gem install bundler 
rbenv rehash 
bundle install # optionally, include --binstubs 
bundle exec rails server 
+0

不幸的是,沒有。仍然得到相同的問題 – BananaNeil

+0

關於版本問題,1.9.3 gems仍然保存在1.9.1目錄中,例如:'〜/ .rbenv/versions/1.9.3-p327-perf/lib/ruby​​/1.9.1 /' – emptyflask