【问题标题】:Install Rails 3 on OSX with RVM在带有 RVM 的 OSX 上安装 Rails 3
【发布时间】:2011-04-08 14:00:07
【问题描述】:

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

【问题讨论】:

  • 你有什么版本的rubygems? ($ gem -v)

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


【解决方案1】:

旧版本的 rvm 有一个错误,可能会导致您的 ruby​​ 版本被交叉连接,因为操作系统可以缓存 which 命令的可执行路径(特别是如果您使用的是 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 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 use 1.9.2 和 rvm use 1.9.2@rails3。有没有办法用 1.9.2 和 Rails 替换核心 OSX 版本的 Ruby?
  • 凯文尝试:rvm 使用 1.9.2@rails3 --default
  • Kevin:您还可以为每个目录创建一个 .rvmrc 文件,当您进入该目录时,它会自动更改为您想要的 ruby​​ 版本:rvm.beginrescueend.com/workflow/rvmrc
  • rvm update 已被删除。要获取最新版本,命令现在是rvm get stable
  • 对于 LION - 使用 rvm install 1.9.3 --with-gcc=clang stackoverflow.com/questions/8032824/…
【解决方案2】:

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

【讨论】:

  • 我会试试的。它说未找到 1.9.2-p0 并执行 rvm install ruby​​-1.9.2-p0。现在运行它。
  • 完全相同的错误。我用从 rails -v 得到的错误更新了我的问题。
  • 正在运行的 Rails 命令的路径在 /Library 中。如果 RVM 安装正确,它将位于 /Users/user/.rvm/ 中。我怀疑您没有将该行添加到您的 .profile 文件中,或者出现其他问题。我建议您完全摆脱 RVM (rm -rf ~/.rvm),以及您已安装的任何其他红宝石,然后按照说明再次尝试安装它。
  • 我已经用那个指南做了 3 次,得到了相同的结果。怎么了?
  • 我只是不知道。我只能说,在您的帖子中,rails 命令仍然是 OS X 附带的命令。
【解决方案3】:

你不必指定版本 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 ruby 安装,缺少所需的 gem。

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

告诉我进展如何。

【讨论】:

  • Simple as rm -rfv ~/.rvm, :) 也可能想要删除 ~/.rvmrc 如果它在那里
  • 同样的错误。没有这样的文件或目录 - /Users/kevin/.rvm/gems/ruby-1.9.2-p0/cache/activesupport-3.0.0.gem
  • 所以你为验证你做事正确所做的一切都很好,对吧?你试过 gem install activesupport 吗?
  • 另外,出现这个错误的命令是什么,gem install rails?逐字逐句?
  • gem install rails 抛出了错误。 gem install activesupport 抛出同样的错误
【解决方案4】:

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

好像没有创建缓存目录,试试 mkdir $HOME/.rvm/gems/cache

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

【讨论】:

    【解决方案5】:

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

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

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

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

    【讨论】:

    • 无论我如何安装,这都是我最终得到的。
    【解决方案6】:

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

    【讨论】:

    • 是的。这可能需要在 ROR 指南网站上提及。我感觉在我们说话的时候,很多人都在围绕着同样的问题。
    【解决方案7】:

    这个解决方案对我有用,只用了几个星期:

    我不得不使用rvm rubygems,而不是使用rvm update。然后,在完成帖子 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
    

    【讨论】:

    • 我得到数据库文件 /Users/jp/.rvm/config/packages 不存在
    【解决方案8】:

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

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

    【讨论】:

      【解决方案9】:

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

      rm -rf .bundle && bundle install
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-16
        • 1970-01-01
        • 1970-01-01
        • 2013-05-08
        • 1970-01-01
        相关资源
        最近更新 更多