为每个ruby版本重新安装每个gem?

Bra*_*cil 24 ruby rbenv

我刚刚使用rbenv安装了Ruby 2.0.0并将其设置为我系统的全局ruby版本.由于2.0与1.9.3兼容,我试图用它启动一个Rails项目,但是出现了以下错误.rbenv rehash安装2.0后我做了

The `rails' command exists in these Ruby versions:
  1.9.3-p327
Run Code Online (Sandbox Code Playgroud)

这是否意味着如果我希望将它与2.0一起使用,我必须重新安装我在1.9.3系统上安装的每个宝石?

Ada*_*son 48

正如所看到的在这里:

您需要为您使用的每个Ruby版本重新安装bundler.查看安装它的Ruby版本:

rbenv whence bundle
Run Code Online (Sandbox Code Playgroud)

查看您当前的版本:

rbenv version
Run Code Online (Sandbox Code Playgroud)

如果缺少,请为该版本安装bundler:

gem install bundler
Run Code Online (Sandbox Code Playgroud)


Pat*_*ick 17

是.Rbenv(和RVM)为每个已安装的Ruby版本都有单独的"gem home"目录.可能有一些方法可以对某些目录进行符号链接以使它们共享,但这可能会导致问题,特别是对于包含本机C扩展的gem,这些扩展可能会也可能不会在多个版本中编译和运行.

如果你有一个Gemfile,最简单的事情就是bundle install再次使用Ruby 2.0,给你许多gems的复制副本和任何本机gem的Ruby-2.0编译版本.