Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用RVM仅升级一个项目ruby解释器?_Ruby_Rvm_Upgrade - Fatal编程技术网

如何使用RVM仅升级一个项目ruby解释器?

如何使用RVM仅升级一个项目ruby解释器?,ruby,rvm,upgrade,Ruby,Rvm,Upgrade,我只是想将我在一个项目中使用的ruby从1.8.7升级到1.9.3。但是,我仍然需要1.8.7用于另一个目前尚未升级的项目。如何使用RVM升级ruby并保持gemset的灵活性 rvm升级版1.9.3 1.8.7是实现这一点的方法吗?这不会将每个使用1.8.7的项目迁移到1.9.3吗 更新: 这样做的方法似乎是使用rvm install 1.9.3,然后为我的项目迁移gems,如下所示: rvm gemset copy 1.8.7-p352@journal 1.9.3@journal 我现在

我只是想将我在一个项目中使用的ruby从1.8.7升级到1.9.3。但是,我仍然需要1.8.7用于另一个目前尚未升级的项目。如何使用RVM升级ruby并保持gemset的灵活性

rvm升级版1.9.3 1.8.7
是实现这一点的方法吗?这不会将每个使用1.8.7的项目迁移到1.9.3吗


更新:

这样做的方法似乎是使用
rvm install 1.9.3
,然后为我的项目迁移gems,如下所示:

rvm gemset copy 1.8.7-p352@journal 1.9.3@journal

我现在要尝试一下,RVM在它的沙箱中同时支持多个红宝石,这就是它存在的原因。因此,没有必要将1.8.7升级到1.9.3。您可以使用单独的Ruby版本和/或用于项目的Gemset,也可以使用不同的路径,具体取决于您想要如何设置

虽然您可以跨1.8.7升级到1.9.3,但我建议将1.8.7保留在其最终版本中,并在其最终版本(当前为p392)中安装1.9.3的单独版本,以便轻松测试两者之间的兼容性。同时安装Ruby v2.0.0,当更新出来时,使用RVM将其升级到最新版本,并删除您认为合适的旧版本

我认为你的:

rvm gemset copy 1.8.7-p352@journal 1.9.3@journal
将告诉RVM在1.9.3中安装相同的gems,或者您可以使用如下过程轻松地从头开始安装:

  • rvm使用1.8.7
  • gem列表| awk'{print$1}'>。/gem\u列表
  • rvm安装1.9.3
  • rvm使用1.9.3
  • xargs gem安装

  • 我已经有一段时间没有这样做了,所以我要从内存开始。

    在项目中添加一个
    rvmrc
    文件。当您
    cd
    进入项目目录时,rvm将知道加载哪个版本的ruby。然后只需运行
    bundle install
    即可获得GEM文件中的GEM

    要安装ruby版本并创建
    rvmrc
    文件,请执行以下操作:

    $ rvm install 1.9.3-p194
    $ cd your_project_dir/
    $ rvm use ruby-1.9.3-p194@yourgemset --create --rvmrc
    $ bundle install
    

    谢谢,我最终还是按照你的建议,按照我在问题中发布的方式做了,一切都很好。我不想简单地升级1.8.7,所以安装1.9.3是完美的