使用RVM在OSX上安装Rails 3

尝试在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 

如果我做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 

较旧版本的rvm有一个错误,可能导致您的ruby版本被交叉连线,因为操作系统可以缓存哪个命令的可执行路径(特别是如果您使用zsh)。 看看Yehuda Katz关于这个主题的这篇长篇,详尽, 令人兴奋的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

使用rvm安装gem时,不需要使用sudo。 如果你按照这里的说明安装RVM,你应该可以只使用rvm使用1.9.2; gem install rails –version 3.0.0

您不必指定版本3.如果您有1.9.2-p0,当您使用rvm gem install rails 3时它将自动获得rvm gem install 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用于旧的ruby安装,缺少必需的gem。

放轻松,不需要太多命令。 如果你发现自己不得不做“黑客”或变通办法,那么你做错了。 值得庆幸的是,重新开始很容易。 要删除rvm,只需执行rm -rfv ~/.rvm以及rm ~/.rvmrc如果存在)。

让我知道事情的后续。

作为新用户使用mac osx等等

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

到目前为止那么好……

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

rvm -v rvm 1.0.2 by Wayne E. Seguin(wayneeseguin@gmail.com)[ http://rvm.beginrescueend.com/%5D

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

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

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

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

而不是使用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 

遵循这些说明,发现它们对于rvm安装非常有用。 希望他们为你工作。

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

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

 rm -rf .bundle && bundle install