【问题标题】:Set up ruby globally for all users on ubuntu 14.04在 ubuntu 14.04 上为所有用户全局设置 ruby
【发布时间】:2015-02-24 13:11:24
【问题描述】:

问题:

如何安装 ruby​​,使其对我的 ubuntu 14.04 服务器上的所有用户可见

呃,我试图让所有用户都能看到 ruby​​ -v,但我失败了。

问题 2: 我可以只更改权限吗?如果是这样,如何?如果没有,我将如何卸载其他安装?

我有 2 个主要用户: ubuntu(默认)和 jenkins(辅助)

我从这个 Tut 遵循了 rbenv 的设置:

cd
git clone git://github.com/sstephenson/rbenv.git .rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL

git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELL

rbenv install 2.1.5
rbenv global 2.1.5
ruby -v

但是我是在默认用户下做的

+whoami
ubuntu
+ruby -v
ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-linux]

如果我切换用户:

 +sudo su - jenkins
 +whoami
 jenkins

 +ruby -v
 The program 'ruby' can be found in the following packages:
 * ruby
 * ruby1.8
 Ask your administrator to install one of them

在权限方面我是个超级菜鸟,所以希望你能握住我的手

最后,我试图让 Jenkins 看到 ruby​​ 进行构建。

我的 Jenkins Job 失败了,因为它找不到 sass,因为它找不到 ruby​​:c

4mRunning "test:client" (test) task[24m

[4mRunning "clean:server" (clean) task[24m

[4mRunning "env:all" (env) task[24m

[4mRunning "injector:sass" (injector) task[24m
[90mMissing option `template`, using `dest` as template instead[39m
Injecting [32mscss[39m files [90m(3 files)[39m
[32m>> [39mNothing changed

[4mRunning "concurrent:test" (concurrent) task[24m
    [33mWarning: [4mRunning "sass:server" (sass) task[24m
    [33mWarning: 
    You need to have Ruby and Sass installed and in your PATH for this task to work.
    More info: https://github.com/gruntjs/grunt-contrib-sass
     Use --force to continue.[39m

更新: 所以我在sudo su - jenkins 下重新安装了rbenv,一切正常,但是有没有办法仍然以全局用户身份安装rbenv,或者这不是rbenv 应该如何工作的?

更新 * 2: 我的第一次更新没有用。这就是我这次的做法。

sudo su -
sudo apt-get install ruby-full
gem install ...

【问题讨论】:

    标签: ruby ubuntu jenkins permissions


    【解决方案1】:

    您的更新* 2 走在了正确的轨道上。

    如果你想为所有用户安装一些东西,使用

    apt-get install

    rbenv 主要在您必须在不同的 ruby​​ 环境之间切换时有用(例如,您开发多个应用程序,每个应用程序都需要安装自己的、可能存在冲突的依赖项集)

    所以回答“Q1 如何安装 ruby​​,以使我的 ubuntu 14.04 服务器上的所有用户都可以看到它”

    作为特权用户(root 或可能ubuntu)运行

    apt-get install ruby-full

    问题 2-4:我可以只更改权限吗?如果是这样,如何?如果没有,我将如何卸载其他安装?

    我可以只更改权限吗?

    这不仅仅是权限问题;这是 PATH 和权限问题。作为 jenkins 用户,你可以这样做

    export PATH="~ubuntu/.rbenv/plugins/ruby-build/bin:$PATH"

    ubuntu 用户的 .rbenv 添加到您的路径中。但是您最好为jenkins 用户设置rbenv。 jenkins 用户可能无权读取、chdir 和执行ubuntu 用户的主目录及其 .rbenv 子目录

    如何(我可以更改权限)

    您可以使用chmod 更改权限。但是更改权限很容易搞砸您的系统。与木材或纸张一样,最好找到一种方法 使用系统的纹理(不必更改权限),而不是反对 系统的纹理。

    如何卸载其他安装

    sudo rm -rf ~ubuntu/.rbenv

    如果您没有系统管理指南,您可能需要查看。几年前,我从本书的早期版本中了解到:http://www.amazon.ca/Essential-System-Administration-Tools-Techniques/dp/0596003439>

    【讨论】:

      猜你喜欢
      • 2019-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-24
      • 2014-10-02
      • 1970-01-01
      • 1970-01-01
      • 2014-12-23
      相关资源
      最近更新 更多