tSq*_*rel 3 ruby multiple-instances rbenv
我有两个脚本需要相同版本的Ruby.但是,每个脚本还需要一个不同版本的gem(nokogiri).其中一个脚本将使用两个版本的nokogiri(1.6.2.1和1.6.1)运行.但是,另一个脚本只能运行1.6.1版本; 如果安装了1.6.2.1,脚本将无法正常执行.
我知道如何使用rbenv安装多个版本的Ruby.但是可以安装SAME版本的Ruby(2.1.2)的多个实例吗?如果是这样,怎么样?
使用自定义名称制作ruby-installer定义文件的本地副本.
$ cp ~/.rbenv/plugins/ruby-build/share/ruby-build/2.1.5 2.1.5-nokogiri161
Run Code Online (Sandbox Code Playgroud)
将其安装为自定义定义文件,无需编辑.
$ rbenv install ./2.1.5-nokogiri161
Run Code Online (Sandbox Code Playgroud)
现在您有一个带有自定义名称的ruby版本,您可以在其上安装自定义宝石.
$ rbenv shell 2.1.5-nokogiri161
$ gem install nokogiri -v 1.6.1
Run Code Online (Sandbox Code Playgroud)
这对于使用自定义构建标志安装ruby版本也很有用.例如,没有编译器优化的调试版本.
$ cp ~/.rbenv/plugins/ruby-build/share/ruby-build/2.1.5 2.1.5-debug
$ RUBY_CONFIGURE_OPTS="optflags=-O0" rbenv install ./2.1.5-debug
$ rbenv shell 2.1.5-debug
Run Code Online (Sandbox Code Playgroud)
我看到两个选择:
您可以有不同的Gemfiles,并让 bundler 负责设置正确的 gem-version。如果脚本位于不同的目录中,应该没有问题。
您可以使用rbenv-gemset来拥有单独的 gem 环境
毫无疑问还有更多,但这两个似乎对您的设置来说是最简单的。
| 归档时间: |
|
| 查看次数: |
881 次 |
| 最近记录: |