使用RVM在OSX上安装Rails 3

时间:2010-09-06 00:20:45

标签: ruby ruby-on-rails-3 macos osx-snow-leopard rvm

尝试在OSX 10.6上安装新的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/ruby-1.9.2-head@rails3/cache/activesupport-3.0.0.gem

如果我做宝石清单,它会说 LOCAL GEMS 并且不会列出任何内容。

我已经阅读了一些演练,但老实说,他们都没有解决这个问题,这让我感到很生气。为什么这么难安装?如果有人可以帮助我让它运行,我很乐意学习它。

我试图遵循这个:

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

9 个答案:

答案 0 :(得分:27)

旧版本的rvm有一个错误,可能导致您的ruby版本被交叉连接,因为操作系统可以缓存哪个命令的可执行路径(特别是如果您使用的是zsh)。请参阅耶胡达卡茨关于此主题的详细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 1.9.2@rails3
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

答案 1 :(得分:2)

使用rvm安装gem时,不需要使用sudo。如果按照here的说明安装RVM,您应该能够 rvm使用1.9.2; gem install rails --version 3.0.0

答案 2 :(得分:2)

您不必指定版本3.如果您有1.9.2-p0,它将在您rvm gem install rails 3时自动获得rails 3。注意:没有sudo。我认为当你使用sudo时,它会使用系统安装的ruby。如果您认为需要sudo,请使用rvmsudo

事情可能会变得混乱,因为你是根据预先稳定发布的rails来关注指南,这涉及许多其他事情。如果您愿意,可以尝试卸载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版本安装它(至少它发生在我的经验中),所以我的假设是它试图强制安装rails 3 for一个较旧的红宝石装置,它缺少所需的宝石。

放轻松,不需要太多命令。如果你发现自己不得不做“黑客”或变通办法,那么你做错了。谢天谢地,重新开始很容易。要删除rvm,只需rm -rfv ~/.rvmrm ~/.rvmrc即可。

让我知道它是怎么回事。

答案 3 :(得分:2)

作为新用户使用mac osx blah blah

似乎没有制作缓存目录,请尝试 mkdir $ HOME / .rvm / gems / cache

到目前为止那么好......

答案 4 :(得分:1)

我遇到了同样的问题(尝试像Blaenk建议的那样卸载和安装)

rvm -v Wayne E. Seguin的rvm 1.0.2(wayneeseguin@gmail.com)[http://rvm.beginrescueend.com/]

ruby​​ -v ruby 1.9.2p0(2010-08-18修订版29036)[x86_64-darwin10.4.0]

gem install rails 错误:执行gem时...(Errno :: ENOENT) 没有这样的文件或目录 - /Users/pragnesh/.rvm/gems/ruby-1.9.2-p0/cache/activesupport-3.0.0.gem

答案 5 :(得分:1)

在做了“rvm update&& rvm reload”后,rvm更新到1.04(而不是我昨天通过推荐的GIT安装得到的1.02!)它运行得很顺利。

答案 6 :(得分:1)

解决方案对我有用,只需几个小时:

我不得不使用rvm update,而是使用rvm rubygems。然后,在完成第2期的所有工作后,我必须执行bundle install并将rvm use 1.9.2@rails3输入到我的.rvmrc文件中。即使在开始新的shell或终端会话时,现在一切都像魅力一样。我使用的完整命令列表是:

>> 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 1.9.2@rails3
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 1.9.2@rails3' > .rvmrc

答案 7 :(得分:0)

按照这些说明进行操作,发现它们对于rvm安装非常有用。希望他们为你工作。

http://adventuresincoding.com/2010/01/taking-the-helm-of-ruby-with-ruby-version-manager/

答案 8 :(得分:0)

在rvm更新和重新加载后为我工作:

rm -rf .bundle && bundle install