如何使用特定的ruby版本?
我尝试在LFS批处理系统上运行脚本。集群提供了一个较旧版本的ruby,因此我必须在我的帐户上本地安装我的gems和rvm。有没有办法在批处理系统上运行本地安装的ruby版本?我的脚本在我的帐户上运行良好,但在LFS上运行不好,因为mechanize依赖于更新的ruby版本。请确保您有 或设置默认值:如何使用特定的ruby版本?,ruby,linux,rvm,batch-processing,linux-from-scratch,Ruby,Linux,Rvm,Batch Processing,Linux From Scratch,我尝试在LFS批处理系统上运行脚本。集群提供了一个较旧版本的ruby,因此我必须在我的帐户上本地安装我的gems和rvm。有没有办法在批处理系统上运行本地安装的ruby版本?我的脚本在我的帐户上运行良好,但在LFS上运行不好,因为mechanize依赖于更新的ruby版本。请确保您有 或设置默认值: rvm use --default 1.9.3 显然,在您的工作目录中将1.9.3替换为您想要使用的版本创建.rvmrc文件,因为您会提到您想要的ruby版本: rvm use 1.9.3@gem
rvm use --default 1.9.3
显然,在您的工作目录中将
1.9.3
替换为您想要使用的版本创建.rvmrc
文件,因为您会提到您想要的ruby版本:
rvm use 1.9.3@gemsetname --create
现在,您可以为这个特定的gems集安装所有gems。我解决了直接使用二进制版本和定义本地gem文件夹的问题:
GEM_HOME=/home/my_name/.rvm/gems/ruby-2.0.0-p195/gems
/home/my_name/.rvm/bin/ruby-2.0.0-p195 my_script.rb
其他解决方案不起作用,因为rvm在集群上不可用。使用bundler会以任何方式解决您的问题吗,我不确定您如何在LFS上运行它。好的,我在作业文件中指定了gem路径,并且在.rvm文件夹中使用了二进制文件。我希望它能工作:-)这只是一个难看的解决方法,您应该正确安装/配置rvm,这可以在单个用户帐户上完成。rvm无需在全球范围内安装即可正常工作。您还应该看看rbenv/ruby build,我更喜欢它,而且它更简单:
GEM_HOME=/home/my_name/.rvm/gems/ruby-2.0.0-p195/gems
/home/my_name/.rvm/bin/ruby-2.0.0-p195 my_script.rb