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


71

在我的Debian服务器上,我有一个名为“ deployer”的用户,该用户没有sudo访问权限,并且已安装RVM。

当使用“ deployer”(如1.9.3)安装Ruby时,它将触发任务来安装依赖项

"Installing requirements for debian, might require sudo password."

失败并停止安装,因为“ deployer”无法使用sudo。

我不想将“部署程序”添加到sudoers列表中,也不想为其他用户一次安装RVM来一次性安装依赖项。

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


Rvm可能正在尝试安装构建依赖项,以便编译ruby的源发行版。避免使用“最新”版本,并指定Ruby的显式版本。
Mark O'Connor

2
感谢您提出这个问题。
德米特里·明科夫斯基2013年

Answers:


161

这确实是RVM的一项新功能,称为autolibs,可以自动安装依赖项。

如果您已经安装了RVM,并且正在询问您的sudo密码,则可以禁用自动库:

$ rvm autolibs disable
$ rvm requirements # manually install these
$ rvm install ruby

否则,您可以使用以下命令在没有自动库的情况下安装RVM:

$ \curl -L https://get.rvm.io | bash -s -- --autolibs=read-fail

我了解动机,但觉得很烦。我不想将我的sudo密码放入RVM,也不想捆绑!请社区,不要这样做。


6
谢谢,我为此浪费了很多时间。他们在想什么?
Alex Dean

4
出于好奇,为什么要curl以斜杠开头?那是错字吗?
吉利2013年

12
@Gili反斜杠将绕过现有的别名,该别名可能具有其他不需要的标志。
kwarrick

4
virtualenvs的一个主要目的是避免使用root特权,而要求root口令会完全破坏它。
Mehdi Sadeghi 2015年

@MehdiSadeghi我完全同意。您的评论是完美的。
jononomo 2015年

36

我喜欢这个

$ 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.

然后我可以用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


-1

该问题是在最新的RVM版本中引入的。不知道确切的时间,但肯定是过去3-4个月。

尝试这个:

rvm get 1.18.8
rvm install <whichever-version-you-want>

我不确切知道何时在1.18.8和1.20.12之间的路径上引入了此问题,但是对我来说,安装适用于RVM v1.18.8,而无法适用于v1.20.12。


1
降级当然不是必需的。
drumfire
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.