如何在全球范围内使用单用户的RVM安装?

时间:2013-07-08 14:16:46

标签: ruby linux ubuntu rvm

我在Ubuntu 10.04计算机上的单个用户帐户下的计算机上安装了RVM,我想让该计算机的其他用户访问同一个安装。

有办法做到这一点吗?

2 个答案:

答案 0 :(得分:2)

如果是二进制红宝石,应该可以只移动RVM。

检查不可移动的红宝石

你可以找到

是否有任何不可移动的红宝石
rvm all --verbose do rvm config-get configure_args | grep -v -- '--enable-load-relative'

在我的情况下,它(只是少数):

jruby-1.7.3: jruby 1.7.3 (1.9.3p385) 2013-02-21 dac429b on OpenJDK 64-Bit Server VM 1.7.0_21-b02 [linux-amd64] 

rbx-head: rubinius 2.0.0.rc1 (1.8.7 bed7e913 yyyy-mm-dd JI) [x86_64-unknown-linux-gnu] 

ruby-1.8.7-p374: ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux] 
 '--prefix=/home/mpapis/.rvm/rubies/ruby-1.8.7-p374' '--disable-install-doc' '--enable-shared' 'CC=ccache gcc' 'CFLAGS=-O3 -O2 -fno-tree-dce -fno-optimize-sibling-calls'
ruby-1.9.3-p448: ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-linux] 
 '--prefix=/home/mpapis/.rvm/rubies/ruby-1.9.3-p448' '--disable-install-doc' '--enable-shared' 'CC=ccache gcc'
ruby-2.0.0-p247: ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux] 

对于那些带有标记的红宝石,您需要删除它们或在移动RVM后重新安装,在这种情况下,这是:1.8.71.9.3

移动RVM

它应该像以下一样简单:

sudo mv ~/.rvm /usr/local/rvm
__rvm_switch /usr/local/rvm

模拟安装(为系统安装生成shell初始化条目:

rvmsudo rvm get stable --auto-dotfiles

现在,每个应该能够使用RVM的用户都可以将它们添加到rvm组:

rvmsudo rvm group add rvm $USER

对每个用户名替换$USER的用户重复此操作。

重新安装不可移动的红宝石

对于第一步中发现的红宝石:

rvm reinstall ruby-1.8.7-p374,ruby-1.9.3-p448

清洗

首先安装RVM的用户帐户将具有旧的初始化代码,您可以使用以下命令找到它:

grep -n rvm ~/.profile ~/.bashrc ~/.bash_profile ~/.bash_login ~/.zshenv ~/.zprofile ~/.zshrc ~/.zlogin

这将显示包含RVM的行,在您喜欢的编辑器中打开这些文件并将其删除。

答案 1 :(得分:0)

我非常怀疑将单个用户的安装转换为多用户是值得的。

在安装唯一的Ruby期间,其路径被编译为组件。这将被记住,并且必须改变。

我认为使用多用户方法安装并重新加载所需的宝石要容易得多。如果你有多个红宝石和很多宝石,可能需要几个小时,但这比调试奇怪错误的几周要好得多。