为什么在rails 3.2.1中使用rvm重新启动后需要“捆绑安装”?

时间:2012-02-14 16:46:28

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

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

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

$ rails

  

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

     

$ sudo gem install rails

     

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

$ rvm -v

  

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

$ rvm info

  

ruby​​-1.9.2-p290@demoapp:

     

系统:      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,版本3.2.48(1)-release(x86_64-apple-darwin11)”      zsh:“/ bin / zsh => zsh 4.3.11(i386-apple-darwin11.0)”

     

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

     

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

     

房屋:      gem:“/ Users/joncalhoun/.rvm/gems/ruby-1.9.2-p290@demoapp”      ruby:“/ Users/joncalhoun/.rvm/rubies/ruby-1.9.2-p290”

     

二进制文件:      ruby:“/ 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 /红宝石/红宝石1.9.2-P290 /斌:/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

  

16年1月8日

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

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

  

Rails 3.2.1

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

1 个答案:

答案 0 :(得分:3)

如果您将Rails 3.2.1与RVM一起使用,通常不需要手动运行'gem install'。

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

您可以配置默认ruby(如果您使用的是1.9.3-p0):

rvm 1.9.3-p0 --default

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

which ruby

如果配置正确,则应打印为:

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

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

bundle

将安装您需要的所有宝石。

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

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