14

尝试在 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 list,它会说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
4

9 回答 9

27

旧版本的 rvm 有一个错误,可能会导致您的 ruby​​ 版本交叉连线,因为操作系统可以缓存which命令的可执行路径(特别是如果您使用的是 zsh)。请参阅 Yehuda Katz 关于该主题的这篇冗长、详细、令人兴奋的帖子

我今天早上必须做的事情:

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

于 2010-09-06T14:12:08.257 回答
2

使用 rvm 安装 gem 时不需要使用 sudo。如果您按照此处的说明安装 RVM,您应该可以使用 rvm use 1.9.2;gem install rails --version 3.0.0

于 2010-09-06T00:50:38.947 回答
2

你不必指定版本 3。如果你有 1.9.2-p0,当你rvm gem install 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​​ 版本安装它(至少它发生在我的经验中),所以我的假设是它试图强制安装 rails 3 用于旧的 ruby​​ 安装,这是丢失的所需的宝石。

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

让我知道事情的后续。

于 2010-09-06T01:22:52.407 回答
2

作为新用户 mac osx blah blah 自己解决这个问题

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

到目前为止一切都很好...

于 2010-09-06T06:37:12.180 回答
1

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

rvm -v rvm 1.0.2 by Wayne E. Seguin (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 ERROR: While execution gem ... (Errno::ENOENT) No such file or directory - /Users/pragnesh/.rvm/gems/ruby-1.9.2-p0/cache/activesupport-3.0.0.gem

于 2010-09-06T01:59:02.857 回答
1

在执行“rvm update && rvm reload”之后,rvm 更新到了 1.04(而不是我昨天通过推荐的 GIT 安装获得的 1.02!?)它运行良好。

于 2010-09-07T08:04:37.457 回答
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
于 2011-07-30T22:04:02.527 回答
0

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

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

于 2010-09-08T09:46:54.717 回答
0

在 rvm 更新和重新加载后执行此操作对我有用:

rm -rf .bundle && bundle install
于 2010-12-29T20:38:51.550 回答