【问题标题】:Why do I need to "bundle install" after every reboot in rails 3.2.1 with rvm?为什么每次使用 rvm 在 rails 3.2.1 中重新启动后都需要“捆绑安装”?
【发布时间】:2012-03-06 01:09:32
【问题描述】:

由于某种原因,每次我重新启动计算机时,我都必须重做很多 Ruby on Rails 设置。我必须重做“捆绑安装”以在我的 Gemfile 中安装所有 gem,然后我必须使用“gem install rails”重新安装 rails,即使我通过 RVM 安装了 rails。我从来没有在另一台具有其他设置的计算机上遇到过这个问题,所以我不确定出了什么问题。

以下是一些终端输出,希望能帮助人们调试问题所在。

$ 导轨

Rails 当前未安装在此系统上。要获取最新版本,只需键入:

$ sudo gem install rails

然后您可以重新运行“rails”命令。

$ rvm -v

rvm 1.10.2,作者 Wayne E. Seguin,Michal Papis [https://rvm.beginrescueend.com/]

$ rvm 信息

ruby-1.9.2-p290@demoapp:

系统: uname:“Darwin Jonathans-Mac-Pro.local 11.2.0 达尔文内核版本 11.2.0:2011 年 8 月 9 日星期二 20:54:00 PDT;root:xnu-1699.24.8~1/RELEASE_X86_64 x86_64” bash: "/bin/bash => GNU bash,版本 3.2.48(1)-release (x86_64-apple-darwin11)" zsh: "/bin/zsh => zsh 4.3.11 (i386-apple-darwin11.0)"

rvm: 版本:“Wayne E. Seguin,Michal Papis [https://rvm.beginrescueend.com/] 的 rvm 1.10.2” 更新:“11 小时 11 分 19 秒前”

红宝石: 翻译:“红宝石” 版本:“1.9.2p290” 日期:“2011-07-09” 平台:“x86_64-darwin11.2.0” 补丁级别:“2011-07-09 修订版 32553” full_version:“ruby 1.9.2p290(2011-07-09 修订版 32553)[x86_64-darwin11.2.0]”

家园: 宝石:“/Users/joncalhoun/.rvm/gems/ruby-1.9.2-p290@demoapp” 红宝石:“/Users/joncalhoun/.rvm/rubies/ruby-1.9.2-p290”

二进制文件: 红宝石:“/Users/joncalhoun/.rvm/rubies/ruby-1.9.2-p290/bin/ruby” irb:“/Users/joncalhoun/.rvm/rubies/ruby-1.9.2-p290/bin/irb” 宝石:“/Users/joncalhoun/.rvm/rubies/ruby-1.9.2-p290/bin/gem” rake: "/Users/joncalhoun/.rvm/gems/ruby-1.9.2-p290@demoapp/bin/rake"

环境: 路径:“/Users/joncalhoun/.rvm/gems/ruby-1.9.2-p290@demoapp/bin:/Users/joncalhoun/.rvm/gems/ruby-1.9.2-p290@global/bin:/Users/ joncalhoun/.rvm/rubies/ruby-1.9.2-p290/bin:/Users/joncalhoun/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin: /usr/X11/bin" GEM_HOME:“/Users/joncalhoun/.rvm/gems/ruby-1.9.2-p290@demoapp” GEM_PATH: "/Users/joncalhoun/.rvm/gems/ruby-1.9.2-p290@demoapp:/Users/joncalhoun/.rvm/gems/ruby-1.9.2-p290@global" MY_RUBY_HOME:“/Users/joncalhoun/.rvm/rubies/ruby-1.9.2-p290” IRBRC:“/Users/joncalhoun/.rvm/rubies/ruby-1.9.2-p290/.irbrc” 红宝石:“” gemset:“demoapp”

$ 宝石-v

1.8.16

$ gem which(这不会返回任何奇怪的东西)

在我 gem 安装 rails 之后: $ 导轨 -v

Rails 3.2.1

我猜这是我的 gem 设置有问题,但我不知道在哪里挖掘。如果您需要更多信息来提供帮助,我可以提供,并感谢任何有时间提供帮助的人。

【问题讨论】:

  • 您用于安装 rails 的具体命令是什么?
  • 更具体地说,当您安装 rails 时,您是 sudo gem install 还是进行 gem install。由于您使用的是单用户 rvm,因此您应该执行 gem install rails,而不是 sudo...
  • @MarcTalbot 我没有使用 sudo。我读过这可能会导致 RVM 出现问题。具体来说,我在安装时使用了本指南:ruby.railstutorial.org/chapters/beginning?version=3.2

标签: ruby-on-rails ruby gem rvm bundler


【解决方案1】:

如果您使用带有 RVM 的 Rails 3.2.1,通常不需要手动运行“gem install”。

我的猜测是,你已经通过 RVM 安装了 ruby​​ 解释器(或者你可能没有在 RVM 中安装 ruby​​),或者你没有配置 RVM 来选择默认的 ruby​​ 解释器。

您可以通过以下方式配置默认 ruby​​(如果您使用的是 1.9.3-p0):

rvm 1.9.3-p0 --default

然后,1.9.3-p0 ruby​​ 将在登录到 shell 后生效。您可以通过以下方式检查正在使用的 ruby​​ 解释器:

which ruby

如果你配置正确,应该是这样打印的:

{your-home-path}/.rvm/rubies/ruby-1.9.3-p0/bin/ruby

在后 bundler-age rails 应用程序中,您只需要运行 bundler 来安装所需的 gem(到 RVM 中的当前 gemset 上)。如果您不创建 gemset,则将使用全局 gemset。运行:

bundle

将安装您需要的所有 gem。

现在,由于 RVM 自动选择 1.9.3-p0 和 gemset 命名为“global”,因此您无需在启动后重新安装(就像我一样)。

您可以选择为 rails 应用程序创建 gemset 并配置每个目录。要为每个应用程序配置默认 gemset/ruby 解释器,请查看 RVM 站点。

【讨论】:

  • 感谢您的帮助。我以为我已经通过 RVM 将 ruby​​ 版本设置为默认版本,但看起来我忘记了这一步,因为它现在正在工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多