ruby - 如何全局使用单用户的 RVM 安装?

标签 ruby linux ubuntu rvm

我在 Ubuntu 10.04 机器上的单个用户帐户下的机器上安装了 RVM,我想让这台机器的其他用户访问相同的安装。

有办法吗?

最佳答案

在二进制 ruby​​ 的情况下,应该可以只移动 RVM。

检查不可移动的 ruby

你可以用

找到有没有不能移动的 ruby
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] 

对于那些带有标志的 ruby ,您需要删除它们或在移动 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 的用户重复此操作。

重新安装不可移动的 ruby

对于在第一步运行中发现的 ruby :

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 的行,在您喜欢的编辑器中打开此文件并将其删除。

关于ruby - 如何全局使用单用户的 RVM 安装?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17528950/

相关文章:

linux - "pg_restore"或附近的 Postgresql 错误语法错误

linux - 如何链接两个具有许多冲突功能的共享库

linux - 开关盒 : Confusing error in "Syntax error: word unexpected (expecting "in")"

linux - 更准确地在 Linux Mint 终端中使用 cut

docker - pod 容器无法解析运行它的主机

ruby-on-rails - 这个 Rails4 错误是什么意思?致命的 : exception reentered . .. `rescue in rollback_active_record_state!'

Ruby 连接由对等方重置 - SSL_connect (Errno::ECONNRESET)

ruby - 网站不再需要本地数据库了吗?

ruby-on-rails - 使用 Minimagick 在 Carrierwave 中获取 EXIF 数据

java - 从java类在ubuntu中执行sudo命令