2010-09-06 122 views
14

試圖在OSX 10.6上安裝新的Rails 3版本。在帶RVM的OSX上安裝Rails 3

自購買以來從未接觸過此機器上的Ruby或Rails。

我能夠獲得rvm並獲得Ruby 1.9.2。安裝。從那裏,我卡住了。

我想:

rvmsudo gem install rails -v 3.0.0 
sudo gem install rails --pre 
sudo gem install rails 
sudo gem update rails 

而每一次我得到了相同的結果錯誤:

ERROR: While executing gem ... (Errno::ENOENT) 
    No such file or directory - /Users/kevin/.rvm/gems/[email protected]/cache/activesupport-3.0.0.gem 

如果我做寶石列表,它說當地的寶石並沒有列出什麼。

我已經閱讀了一些演練,但說實話,他們都沒有解決這個問題,它的那種讓我氣惱的東西。爲什麼這麼難安裝?如果有人能夠幫助我實現它,我很樂意學習它。

我試圖按照此:

http://eddorre.com/posts/installing-rails-3-beta-4-using-rvm

這:

http://hivelogic.com/articles/compiling-ruby-rubygems-and-rails-on-snow-leopard

這實際上是從ROR鏈接引導的網站。我是否缺少依賴關係?我如何讓他們進入?

如果我做rails -v我得到:

rails -v 
/Library/Ruby/Site/1.8/rubygems.rb:779:in `report_activate_error': Could not find RubyGem rails (>= 0) (Gem::LoadError) 
    from /Library/Ruby/Site/1.8/rubygems.rb:214:in `activate' 
    from /Library/Ruby/Site/1.8/rubygems.rb:1082:in `gem' 
    from /usr/bin/rails:18 
+0

你有什麼版本的rubygems? ($ gem -v) – raidfive 2010-09-06 00:24:10

+0

RubyGems版本1.3.7 – Kevin 2010-09-06 00:27:20

回答

27

舊RVM的版本有可能會導致你的Ruby版本得到crosswired因爲操作系統可以緩存爲命令來執行路徑(特別是錯誤如果你正在使用zsh)。關於這個問題,請看Yehuda Katz的詳細文檔mind blowing post

我怎麼辦今天上午:

rvm update && rvm reload # update rvm 
rvm gemset delete rails3 # delete old gemset 
rvm install 1.9.2 
rvm use 1.9.2 
rvm gemset create rails3 
rvm use [email protected] 
which ruby   # check to be sure the ruby interpretter is properly set to 1.9.2 
hash -r    # if ruby interpretter is not pointing to 1.9.2 
gem install rails 
which rails   # check to be sure we are using rvm version of rails 

注:在RVM的新版本,你將不得不使用rvm get stable代替rvm update

+0

謝謝!!!!!!!!這工作,只需要約10分鐘! – Kevin 2010-09-06 15:44:02

+0

謝謝你也爲我工作 – 2010-09-06 16:37:43

+0

即使這樣做,我每次啓動終端時都必須運行rvm 1.9.2和rvm [email protected]。有沒有辦法用1.9.2和Rails替換Ruby的核心OSX版本? – Kevin 2010-09-06 18:21:09

2

你並不需要安裝RVM寶石時使用sudo。如果按照指示here安裝RVM,您應該可以只使用rvm use 1.9.2; gem install rails --version 3.0.0

+0

我會試試看。它說沒有找到1.9.2-p0,並執行rvm install ruby​​-1.9.2-p0。現在運行。 – Kevin 2010-09-06 00:54:36

+1

完全相同的錯誤。我用我從rails -v得到的錯誤更新了我的問題。 – Kevin 2010-09-06 01:08:42

+0

正在運行的Rails命令的路徑位於/ Library中。如果RVM安裝正確,它將位於/Users/user/.rvm/中。我懷疑你沒有將該行添加到你的.profile文件,或者其他出錯。我建議你完全擺脫RVM(rm -rf〜/ .rvm)以及其他任何已安裝的ruby,並嘗試按照指示安裝agaon。 – AboutRuby 2010-09-06 01:29:05

2

您不必指定版本3.如果您有1.9.2-p0,當您使用rvm gem install rails 3時,它將自動獲得rails 3。注意:沒有sudo。我想當你使用sudo時,它會使用系統安裝的ruby。如果您認爲您需要sudo,請使用rvmsudo

事情可能會變得混亂,因爲你是根據軌道的前穩定版本,其中涉及許多其他事情,遵循指南。如果你喜歡,你可以嘗試卸載rvm並重新做一切。這確實不是那麼困難。

請記住,你需要1.9.2,1.9.1不行。

curl -O http://rvm.beginrescueend.com/releases/rvm-install-head 
sh rvm-install-head 
rvm install 1.9.2-p0 

# also remember to edit your bash profile and add the required lines 

# verify that 1.9.2-p0 shows up there 
rvm list 

# makes it so you're using it, and sets it as the default 
rvm use 1.9.2-p0 --default 

# verify this happened. should have => 1.9.2-p0 in the list 
rvm list 

# verify the version 
ruby --version 

# should automatically get 3.0 
# `rvm gem install` installs it for every single installed ruby version 
# in my experience 
gem install rails 

當你做了rvm gem install,我認爲它會安裝它已與RVM(至少它發生在我的經驗)註冊的每一個Ruby版本,所以我的假設是,它試圖強制安裝導軌3一個較舊的紅寶石安裝,它缺少所需的寶石。

放輕鬆,不需要很多命令。如果你發現自己不得不做'黑客'或變通辦法,那麼你做錯了。謝天謝地,重新開始很容易。要刪除rvm,只需執行rm -rfv ~/.rvm以及rm ~/.rvmrc(如果存在)。

讓我知道它是怎麼回事。

+0

如何卸載RVM? – Kevin 2010-09-06 01:26:49

+0

簡單的rm -rfv〜/ .rvm :)也可能想刪除〜/ .rvmrc,如果它存在 – 2010-09-06 01:29:05

+0

陷阱。那就是訣竅。 – Kevin 2010-09-06 01:34:24

1

我遇到了同樣的問題(嘗試卸載和安裝等Blaenk建議的)由韋恩E. Seguin的([email protected])[http://rvm.beginrescueend.com/]

RVM -v RVM 1.0.2紅寶石-v 紅寶石1.9.2p0(2010-08-18修訂29036)x86_64的-darwin10.4.0]

創業板安裝導軌 錯誤:在執行寶石...(錯誤:: ENOENT) 沒有這樣的文件或目錄 - /Users/pragnesh/.rvm/gems/ruby-1.9.2-p0 /cache/activesupport-3.0.0.gem

+0

無論我如何安裝,這都是我最終得到的結果。 – Kevin 2010-09-06 04:38:55

2

通過這個自己工作作爲新用戶的Mac OSX等等等等

似乎是一個緩存目錄沒有得到製作,嘗試 的mkdir $ HOME/.rvm /寶石/高速緩存

到目前爲止之後好......

+0

也適合我。 – 2010-09-06 08:25:54

1

做 「RVM更新& & RVM重裝」 後rvm已經更新到1.04(而不是我昨天通過推薦的GIT安裝得到的1.02)?它很好地工作。

+0

是的。這可能需要在ROR指南網站上提及。我有一種感覺,當我們說話時,很多人都在解決同樣的問題。 – Kevin 2010-09-07 12:46:08

0

這樣做的RVM更新後,對我重裝工作:

rm -rf .bundle && bundle install 
1

該解決方案爲我工作,有幾個tweeks:

而不是使用rvm update的,我有使用rvm rubygems。然後,在完成後2的所有工作後,我必須執行bundle install,並且我輸入rvm use [email protected]到我的.rvmrc文件。現在,即使在啓動新的外殼或終端會話時,現在一切都像魅力一樣。我使用的命令的完整列表是:

>> NEW >> rvm rubygems 
rvm reload     # update rvm 
rvm gemset delete rails3 # delete old gemset 
rvm install 1.9.2 
rvm use 1.9.2 
rvm gemset create rails3 
rvm use [email protected] 
which ruby     # check to be sure the ruby interpretter is properly set to 1.9.2 
>> DID NOT NEED >> hash -r # if ruby interpretter is not pointing to 1.9.2 
gem install rails 
which rails    # check to be sure we are using rvm version of rails 
>> NEW >> bundle install 
>> NEW >> cat 'rvm use [email protected]' > .rvmrc 
+0

我得到數據庫文件/Users/jp/.rvm/config/packages不存在 – johndpope 2012-05-10 05:20:27