ruby-on-rails - 为什么每次使用 rvm 在 rails 3.2.1 中重启后都需要 "bundle install"?

标签 ruby-on-rails ruby gem rvm bundler

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

下面是一些终端输出,希望能帮助人们调试出错的地方。

$ rails

Rails is not currently installed on this system. To get the latest version, simply type:

$ sudo gem install rails

You can then rerun your "rails" command.

$ rvm -v

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

$ 虚拟机信息

ruby-1.9.2-p290@demoapp:

system: uname: "Darwin Jonathans-Mac-Pro.local 11.2.0 Darwin Kernel Version 11.2.0: Tue Aug 9 20:54:00 PDT 2011; root:xnu-1699.24.8~1/RELEASE_X86_64 x86_64" bash: "/bin/bash => GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin11)" zsh: "/bin/zsh => zsh 4.3.11 (i386-apple-darwin11.0)"

rvm: version: "rvm 1.10.2 by Wayne E. Seguin , Michal Papis [https://rvm.beginrescueend.com/]" updated: "11 hours 11 minutes 19 seconds ago"

ruby: interpreter: "ruby" version: "1.9.2p290" date: "2011-07-09" platform: "x86_64-darwin11.2.0" patchlevel: "2011-07-09 revision 32553" full_version: "ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.2.0]"

homes: gem: "/Users/joncalhoun/.rvm/gems/ruby-1.9.2-p290@demoapp" ruby: "/Users/joncalhoun/.rvm/rubies/ruby-1.9.2-p290"

binaries: ruby: "/Users/joncalhoun/.rvm/rubies/ruby-1.9.2-p290/bin/ruby" irb: "/Users/joncalhoun/.rvm/rubies/ruby-1.9.2-p290/bin/irb" gem: "/Users/joncalhoun/.rvm/rubies/ruby-1.9.2-p290/bin/gem" rake: "/Users/joncalhoun/.rvm/gems/ruby-1.9.2-p290@demoapp/bin/rake"

environment: PATH: "/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" RUBYOPT: "" gemset: "demoapp"

$ gem -v

1.8.16

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

在我安装 rails 之后: $ rails -v

Rails 3.2.1

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

最佳答案

如果您将 Rails 3.2.1 与 RVM 一起使用,通常不需要手动运行“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 自动选择带有名为“global”的 gemset 的 1.9.3-p0,您不需要在启动后重新安装(就像我一样)。

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

关于ruby-on-rails - 为什么每次使用 rvm 在 rails 3.2.1 中重启后都需要 "bundle install"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9280738/

相关文章:

ruby - 语法错误,意外的keyword_end需要 '}' SHOES

ruby-on-rails - 瘦服务器进程以 100% CPU 挂起,似乎是一个正则表达式循环。我在哪里可以获得更多调试信息?

ruby-on-rails - 设计可确认 - 当用户尝试使用未经确认的电子邮件登录时,将用户重定向到自定义页面

ruby jiraSOAP net-http ssl 验证

ruby - 正则表达式匹配所有 cucumber 步骤并获取双引号

ruby - 在 cygwin 中安装 gem wdm 时出错

sql - 如何获得可链接的标签?

javascript - 使用选择刷新 Turbo Frames 而无需在 Rails 7 上提交

ruby - 在 ubuntu 14.0.4 (Ruby 1.8.7) 中安装 nokogiri 时出错

ruby-on-rails - 在 Windows 上使用 twitter-bootstrap-rails 生成器的警告