出于某种原因,每次我重新启动计算机时,我都必须重做大量 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/