如何在不为RVM用户提供sudo访问权限的情况下安装RVM系统要求

Vit*_*huk 71 ruby deployment sudo rvm

在我的Debian服务器上,我有一个名为"deployer"的用户,它没有sudo访问权限,并且安装了RVM.

使用"deployer"(如1.9.3)安装Ruby时,它会触发安装依赖项的任务

"Installing requirements for debian, might require sudo password."
Run Code Online (Sandbox Code Playgroud)

失败并停止安装,因为"部署者"不能sudo.

我不想将"deployer"添加到sudoers列表中,并且不希望为一些其他用户安装RVM只是为了一次性使用来安装依赖项.

安装该依赖项的正确方法是什么?或者如何列出它们以手动安装?

kwa*_*ick 156

这确实是RVM的一个新功能autolibs,它会自动安装依赖项.

如果您已经安装了RVM,并且它要求您输入sudo密码,则可以禁用autolib:

$ rvm autolibs disable
$ rvm requirements # manually install these
$ rvm install ruby
Run Code Online (Sandbox Code Playgroud)

否则,您可以使用以下命令安装不带autolib的RVM:

$ \curl -L https://get.rvm.io | bash -s -- --autolibs=read-fail
Run Code Online (Sandbox Code Playgroud)

我理解动机,但觉得很烦人.我不想把我的sudo密码放到RVM中,也不想捆绑!请社区,停止这样做.

  • @Gili反斜杠将绕过现有别名,该别名可能有其他不需要的标志. (12认同)
  • 谢谢,我浪费了很多时间.他们在想什么? (6认同)
  • 出于好奇,为什么`curl`以斜线为前缀?那是一个错字吗? (4认同)
  • virtualenvs的一个主要目的是避免使用root权限,这要求root密码完全破坏它. (4认同)

lid*_*ing 34

我更喜欢这个

$ rvm autolibs fail
$ rvm install ruby
Searching for binary rubies, this might take some time.
Found remote file https://rubies.travis-ci.org/ubuntu/12.04/x86_64/ruby-2.1.1.tar.bz2
Checking requirements for ubuntu.
Missing required packages: gawk g++ gcc make libreadline6-dev zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 autoconf libgdbm-dev libncurses5-dev automake libtool bison pkg-config libffi-dev
RVM autolibs is now configured with mode '2' => 'check and stop if missing',
please run `rvm autolibs enable` to let RVM do its job or run and read `rvm autolibs [help]`
or visit https://rvm.io/rvm/autolibs for more information.
Requirements installation failed with status: 1.
Run Code Online (Sandbox Code Playgroud)

然后我可以用root重启并运行

# apt-get install gawk g++ gcc make libreadline6-dev zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 autoconf libgdbm-dev libncurses5-dev automake libtool bison pkg-config libffi-dev
Run Code Online (Sandbox Code Playgroud)


Gil*_*ili 6

接受的答案未能红宝石安装到.rvm/bin/ruby..rvm/wrappers/ruby-2.0.0-p247/ruby如果构建脚本依赖于此位置并且版本号随时间变化,则shell脚本最终会很痛苦.

这是一个对我有用的更简单的解决方案:

\curl -L https://get.rvm.io | bash -s -- --ignore-dotfiles --autolibs=0 --ruby
Run Code Online (Sandbox Code Playgroud)

.rvm/bin/ruby 是按预期创建的.

资料来源:http://blog.sunild.com/2013/07/install-ruby-with-rvm-on-mac-os-108.html