我有两个脚本需要相同版本的
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
$rbenv install ./2.1.5-nokogiri161
现在您有一个带有自定义名称的ruby版本,您可以在其上安装自定义宝石.
$rbenv shell 2.1.5-nokogiri161 $gem install nokogiri -v 1.6.1
这对于使用自定义构建标志安装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