2012-01-22 111 views
3

奇怪的問題,試圖找出我的全新安裝在這裏發生了什麼。「rails s」使用Ruby 1.8.7而不是Ruby 1.9.3(OS X 10.7.2)

我使用自制軟件安裝了Ruby 1.9.3。我使用ruby gems安裝Rails 3.2.0。然後我使用rails new test_app創建了一個測試應用程序,以確保測試環境中的所有內容都可以正常工作。不知何故,rails環境使用1.8.7而不是1.9.3。

在做一個ruby -v,我得到這個:

overcast:test_app joe$ ruby -v 
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0] 

但運行rails s,當我得到這個:

overcast:test_app joe$ rails s 
=> Booting WEBrick 
=> Rails 3.2.0 application starting in development on http://0.0.0.0:3000 
=> Call with -d to detach 
=> Ctrl-C to shutdown server 
[2012-01-21 23:21:35] INFO WEBrick 1.3.1 
[2012-01-21 23:21:35] INFO ruby 1.8.7 (2010-01-10) [universal-darwin11.0] 

而且,很明顯,在看Rails環境的網頁在本地主機時:3000我顯示1.8.7而不是1.9.3。根據我在這裏找到的一些答案,我編輯了/ etc /路徑以使/ usr/local/bin在頂部,但它似乎沒有什麼區別。

任何幫助將不勝感激!

附錄:安裝並嘗試通過RVM使用Ruby時也會發生同樣的情況。

+1

您應該使用rvm併爲您的應用程序創建一個gemset。 – Robin

回答

2

如果您正在運行的是mac os x,則預裝了ruby 1.8。如果您想安裝多個ruby版本,請使用RVM或rbenv。

+0

RVM也會發生同樣的情況。我試着用RVM安裝1.9.2,並將其設置爲默認值,以防1.9.3出現問題。 ruby -v顯示了當前選擇的RVM版本,但rails堅持使用1.8.7。我將這個問題加入到這個問題中,因爲這是我考慮過的。 – jdrols

+0

rails s只會啓動服務器。在你安裝rails的ruby版本下? $哪些軌道和$哪些紅寶石給你什麼? – bandola

+0

分別使用RVM:/ usr/bin/rails和/Users/joe/.rvm/rubies/ruby-1.9.2-p290/bin/ruby。沒有RVM,$ ruby​​是:/ usr/local/bin/ruby​​ – jdrols

0
bundle exec rails server 

應該工作得很好。它也能幫我關閉終端並打開一個新終端。

1

自制軟件不是很差:) 您可以使用rbenv。它是Ruby版本管理器。 我的成功故事爲MAC OS X 10.8.2是:

  • 在/ etc /路徑安裝自制
  • 變化PATH(/usr/local/bin必須先)
  • 安裝rbenv和紅寶石版本(這是使用插件rbenv)自制
  • 創建〜/ .profile文件的內容:

    export RBENV_ROOT=/usr/local/opt/rbenv 
    
    if which rbenv > /dev/null; then 
        eval "$(rbenv init -)" 
    fi 
    
  • 安裝最新穩定紅寶石versio N使用使用使用gem update --system(可選)rbenv global 1.9.3-p374

  • 更新寶石
  • 安裝導軌gem install rails
  • rbenv install 1.9.3-p374

  • 更改默認紅寶石版本...
  • 利潤:)
0

sudo的更新替代品--config寶石

,並選擇您的verison!

相關問題