72

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

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

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

失败并停止安装,因为“部署者”不能 sudo。

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

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

4

4 回答 4

163

这确实是 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,也不想捆绑!请社区,停止这样做。

于 2013-06-20T17:14:06.673 回答
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
于 2014-05-12T05:56:03.970 回答
6

接受的答案无法将 Ruby 安装到.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

.rvm/bin/ruby按预期创建。

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

于 2013-09-10T23:08:32.913 回答
-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 时安装失败。

于 2013-06-07T09:37:05.230 回答