【问题标题】:RVM and OSX Lion - RVM 'forgets' gemsets on system restartRVM 和 OSX Lion - RVM 在系统重启时“忘记” gemsets
【发布时间】:2011-12-29 15:57:54
【问题描述】:

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

例如,我已经制作了几个 gemset,我重新启动了计算机。

我运行以下命令:

$ 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

这显示了我创建(和需要)的所有 gemset。此时我将 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 而无需创建/删除虚拟的?

编辑 #1 - rvm info 输出

运行 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 info 的输出是什么?
  • 我将rvm info 上的结果添加到上面的答案中 - 我一般来说 RVM 处于相当基本的水平,所以我不确定那里是否存在问题

标签: ruby-on-rails ruby macos rvm


【解决方案1】:

您的默认 RVM ruby​​ 似乎未设置。

尝试运行这个:

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

然后重新启动。

如果您的 gemset 已经存在,您可以省略 --create

rvm use --default 1.9.2@rails3.1

【讨论】:

  • 好东西,谢谢!唯一的区别是我删除了--create,所以声明看起来像这样:rvm use --default 1.9.2@rails3.1 - 感谢指导
  • 是的,如果它已经存在,则无需使用--create 运行。很高兴我帮助了:-)
  • 不,这不是解决方案。我有一个默认的 Ruby 集,但我仍然遇到同样的问题,即重启后,不再设置默认 gemset。
  • @Matthias:设置了什么? RVM 加载是否正确?
  • @Sergio: 抱歉,忘记回来了:我在做$rvm gemset use ... --default 而不是rvm use ...。它确实有效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多