在ubuntu 14.04上为所有用户全局设置ruby

时间:2014-12-27 18:47:40

标签: ruby ubuntu jenkins permissions

问题:

如何以这种方式安装ruby,以便我的ubuntu 14.04服务器上的所有用户都可以看到

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

问题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 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 ...

1 个答案:

答案 0 :(得分:1)

您正在使用更新* 2进入正确的轨道。

如果您想为所有用户安装内容,请使用

apt-get install

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

所以回答" Q1如何以这样的方式安装ruby,以便我的ubuntu 14.04服务器上的所有用户都可以看到"

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

apt-get install ruby-full

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

  

我可以更改权限吗?

这不仅仅是权限问题;它是一个路径和权限问题。作为jenkins用户,你可以做到

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

ubuntu用户的.rbenv添加到您的路径中。但是,为rbenv用户设置jenkins可能会更好。 jenkins用户可能没有权限读取,查看和执行ubuntu用户的主目录及其.rbenv子目录

  

如何(我可以更改权限)

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

  

如何卸载其他安装

sudo rm -rf ~ubuntu/.rbenv

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