在Linux用户之间共享Ruby程序

我们的Linux(Mint)系统有2个pipe理员用户 – mint&admin。 我们需要做什么,pipe理员和薄荷可以分享gem?

Mint在/home/mint/rbenv/目录中有通过bundler安装的厨师,berkshelf&knife-ec2。 切换到pipe理员时,找不到这些程序:

程序'刀'目前没有安装。 要运行“刀”,请问你的pipe理员安装包'厨师'

两个用户如何共享已安装的软件包/程序?

正如@AWippler在他的评论中指出的,将rbenv安装在用户主目录以外的位置。 安装在/ var / opt / rbenv目录中。

 sudo git clone https://github.com/sstephenson/rbenv.git /var/opt/rbenv 

所有调整用户权限都很重要。 有很多方法可以做到这一点。 我将这些用户添加到一个名为devops的组中。

 sudo groupadd devops sudo usermod -a -G devops username sudo chgrp -R devops /var/opt/rbenv/ sudo chmod 0775 /var/opt/rbenv sudo chmod g+s -R /var/opt/rbenv/ 

接下来还需要共享$ RBENV_PATH。 在/etc/profile.d中创build一个rbenv.sh脚本。

 echo 'export RBENV_ROOT=/var/opt/rbenv' | sudo tee -a '/etc/profile.d/rbenv.sh' echo 'export PATH=$RBENV_ROOT/bin:$PATH' | sudo tee -a '/etc/profile.d/rbenv.sh' echo 'eval "$(rbenv init -)"' | sudo tee -a '/etc/profile.d/rbenv.sh' sudo chgrp devops /etc/profile.d/rbenv.sh sudo chmod 0660 /etc/profile.d/rbenv.sh source /etc/profile.d/rbenv.sh 

最后,安装rbenv和你喜欢的版本。

 cd /tmp sudo git clone https://github.com/sstephenson/ruby-build.git sudo ./ruby-build/install.sh rbenv install ruby-version rbenv shell ruby-version rbenv global ruby-version rbenv rehash 

注意:通过bundler安装gem时,一定要使用bundle install --system与所有用户共享。