2010-05-26 38 views
12

我買了一臺白色的Macbook,我必須在10個小時內參加一個會議,但是我遇到了很多問題。如何在OSX上安裝Ruby on Rails 3?

首先,我想要Rails 3,所以我使用MacPorts來安裝Ruby 1.8.7。它運行良好;) 然後,我想我應該安裝Rails 3,但不,不!它說:

$ sudo gem install rails --pre 

ERROR: Error installing rails: 


      activesupport requires Ruby version >= 1.8.7. 

我該怎麼辦?我已經有1.8.7!

+0

蕩。這是一個很大的Ruby/Rails 3問題。 – Matchu 2010-05-27 00:12:33

+0

如果您對RVM有進一步的問題,有人願意在freenode的#rvm頻道上全天候幫助:http://webchat.freenode.net/?channels=rvm。 – 2010-06-14 08:58:49

+1

@DJTriple威脅白色筆記本電腦的熱度降低,軟件運行速度加快。你永遠不知道這是否與過熱問題有關。 :) – 2010-12-14 15:05:01

回答

1

您可能安裝了兩種不同版本的Ruby。試試「gem env」或「sudo gem env」,看看它說你有哪個版本的Ruby。

如果您安裝了兩個,請刪除舊的。如果一切都失敗了,升級到1.9.x,我相信它仍然推薦用於Rails 3。

+0

它的確說1.8.6 ..我該如何擺脫它? – 2010-05-26 19:53:33

+0

我沒有Mac,所以我不是100%確定的,但是如果你去的目錄說它已經安裝了,應該有一個你可以運行的卸載程序。 – 2010-05-26 19:57:23

+3

他應該__NOT__卸載1.8.6--這是Apple內置系統的一部分,並且某些軟件可能會在那裏出現。他可以通過使用'$ PATH'變量來理智和簡單地管理不同的Rubies。 – Telemachus 2010-05-27 01:07:07

1

我強烈推薦使用RVM(Ruby版本管理器)來保持Rails 3與Rails 2分離。(Rails 2與Rails 3衝突的一個例子:當您轉到命令行生成Rails應用程序時,它會生成Rails 2應用程序還是Rails 3應用程序?RVM允許您將它們分開)

另外,最新的Ruby 1.8.7可能不適用於Rails 3,因此您必須使用較早的修補程序級別(248爲我工作)。詳情如下:http://techiferous.com/2010/02/installing-rails-3-beta-with-rvm-and-ruby-1-8-7/

33

首先你需要安裝RVM,然後是最新版本的Ruby。接下來,您將該版本的Ruby設置爲默認值。最後,您將安裝Rails b3。

安裝RVM(http://rvm.beginrescueend.com/rvm/install/):

bash < <(curl http://rvm.beginrescueend.com/releases/rvm-install-head) 

安裝最新的紅寶石(http://rvm.beginrescueend.com/rubies/installing/):

rvm install ruby-head 

你可以檢查你現在已經安裝了該版本:

rvm list 

將最新版本的Ruby設置爲默認值(替換'ruby-1.9.2-head 「有需要的版本):

rvm ruby-1.9.2-head --default 

確保事情了一天,然後安裝Rails的測試:

gem update --system 
gem install rails --pre 

您可能需要安裝一些gem依賴之前Rails會安裝。

+2

+1爲我完美工作。 – Owen 2010-08-22 17:28:04

+0

感謝您的帖子。 – 2010-12-13 19:34:38

1

您應該使用rvm,正如其他人所說的那樣管理多個Ruby和Ruby gems的安裝。 (如果你這樣做,花點時間仔細閱讀rvm's documentation)。

但是,你應該也很容易弄清楚你的shell的默認版本是什麼,以及爲什麼。這聽起來像你的$PATH變量可能無法正確更新。 $PATH變量是什麼決定其中 Ruby解釋器或gem命令是第一次看到,如果你有多個安裝(如你現在這樣做)。MacPorts默認會將新的二進制文件安裝到/opt/local/bin,並且它還應該更改您的$PATH,以便/opt/local/bin/usr/bin之前(這是Apple開箱即可使用的位置)。

我懷疑你這麼做的時候sudo gem install,您使用/usr/bin/gem(這是/usr/bin/ruby而不是/opt/local/bin/gem(這將是安裝程序MacPort的Ruby)的寶石安裝程序。

檢查的echo $PATHwhich ruby輸出和which gem,看看發生了什麼事情。

0

根據你的問題和你對一些答案的回答,這聽起來像你沒有使用MacPorts版本的Ruby。您應該確保/opt/local/bin位於$PATH之前,/usr/bin之前。另外,您應該通過MacPorts安裝RubyGems(sudo port install rb-rubygems)並確保您使用MacPorts gem。然後使用MacPorts gem安裝Rails。

0

你確實應該使用RVM,但因爲沒有人向你解釋如何做到這一點沒有RVM,在這裏你去:

sudo gem install tzinfo builder memcache-client rack rack-test rack-mount \ 
    abstract erubis activesupport mime-types mail text-hyphen text-format \ 
    thor i18n rake bundler arel railties rails --prerelease --force 
+0

導軌3不再提前發佈 – xaxxon 2011-07-19 05:31:57