ruby-on-rails – RVM和OSX Lion – RVM在系统重启时“忘记”gemsets

在Rails中使用Linux时,我似乎从来没有遇到过这个问题,但是每次重新启动我的机器时都会更改为OSX,RVM会丢失它的gemsets列表,但它们实际上并没有消失.

例如,我已经制作了几个宝石,我重启了我的电脑.

我运行以下命令:

$rvm gemset list

gemsets for system (found in /Users/evan/.rvm/gems/system)
*

当我运行rails s来启动我的服务器时,这当然会造成严重破坏.

我设法恢复宝石的唯一方法是创建一个虚拟宝石集:

$rvm --create 1.9.2@blahblah
$rvm gemset list

gemsets for ruby-1.9.2-p290 (found in /Users/evan/.rvm/gems/ruby-1.9.2-p290)
asdasdads
=> blahblah
global
rails3.1
rails31
test
test3
test6
whymvc

显示了我创建(和需要)的所有gemsets.此时我将gemset更改回我想要的:

$rvm gemset use rails3.1
Using /Users/evan/.rvm/gems/ruby-1.9.2-p290 with gemset rails3.1

此时我回到了需要进行功能开发的地方,直到下次重启.

我相信我在RVM网站上正确地遵循了指示,而我的.bash_profile看起来是这样的:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function

我的问题是:

如何配置RVM以“记住”我创建的gemset而不创建/删除虚拟的gemset?

编辑#1 – rvm信息输出

运行rvm info会产生以下输出

$rvm info

system:

   system:
   uname:       "Darwin emcummings-pc 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.0-pre by Wayne E. Seguin (wayneeseguin@gmail.com) [https://rvm.beginrescueend.com/]"

homes:
   gem:          "not set"
   ruby:         "not set"

binaries:
   ruby:         "/usr/bin/ruby"
   irb:          "/usr/bin/irb"
   gem:          "/usr/bin/gem"
   rake:         "/usr/bin/rake"

environment:
  PATH:         "/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Users/evan/.rvm/bin"
  GEM_HOME:     ""
  GEM_PATH:     ""
  MY_RUBY_HOME: ""
  IRBRC:        ""
  RUBYOPT:      ""
  gemset:       ""

解决方法

看来您的认RVM ruby​​未设置.

试试这个:

rvm use --default --create 1.9.2@rails3.1

然后重新启动.

如果您的gemset已经存在,则可以省略–create.

rvm use --default 1.9.2@rails3.1

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...