重新安装每个宝石版本的每个宝石?

问题描述:

我刚刚使用rbenv安装了Ruby 2.0.0,并将其设置为我系统的全局ruby版本。由于2.0与1.9.3兼容,我试图用它启动一个Rails项目,但遇到以下错误。我安装2.0重新安装每个宝石版本的每个宝石?

The `rails' command exists in these Ruby versions: 
    1.9.3-p327 

这是否意味着,我在我的系统上安装了1.9.3每个宝石必须重新安装,如果我想用2.0使用后没有rbenv rehash

+0

原则上是的,但我很想知道是否有替代方案可以让我们保留已安装的宝石。 – 2013-03-10 20:47:03

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

如果您有Gemfile,最简单的事情就是再次为Ruby 2.0提供bundle install,为您提供许多gem和任何本地gem的Ruby-2.0编译版本的副本。

可以看出here

您需要重新安装捆绑为Ruby的每个版本使用。看到你安装Ruby版本:

rbenv whence bundle 

请参阅您的当前版本:

rbenv version 

该版本的安装捆绑,如果丢失:

gem install bundler 
+0

细分。 – 2013-08-08 00:57:46

这另一种解决方案是将您以前版本的宝石复制(或重新安装)到新安装的版本。如何做到这一点在this question中有详细解答,它有两个脚本 - 一个到install from local cache,一个到reinstall from the internet(我的)。