尝试在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
答案 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 ~/.rvm
和rm ~/.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