Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.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
如何使用特定的ruby版本?_Ruby_Linux_Rvm_Batch Processing_Linux From Scratch - Fatal编程技术网

如何使用特定的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

我尝试在LFS批处理系统上运行脚本。集群提供了一个较旧版本的ruby,因此我必须在我的帐户上本地安装我的gems和rvm。有没有办法在批处理系统上运行本地安装的ruby版本?我的脚本在我的帐户上运行良好,但在LFS上运行不好,因为mechanize依赖于更新的ruby版本。

请确保您有

或设置默认值:

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