如何安装 RVM 系统需求而不给 RVM 用户 sudo 访问权限

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

当使用“部署器”(如1.9.3)安装 Ruby 时,它会触发一个安装依赖项的任务

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

因为“部署程序”不能 sudo 而失败并停止安装。

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

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

25504 次浏览

这个问题是在最新的 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中失败。

这确实是 RVM 的一个名为 autolibs的新特性,它自动安装依赖项。

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

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

否则,您可以使用以下命令安装没有 autolibs 的 RVM:

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

我理解你的动机,但是我觉得这很烦人。我不想把我的 sudo 密码进入 RVM,也不是为了那件事 Bundle!请社区,停止这样做。

接受的答案未能将 Ruby 安装到 .rvm/bin/ruby中。如果构建脚本依赖于这个位置并且版本号随时间变化,那么 shell 脚本最终会出现在 .rvm/wrappers/ruby-2.0.0-p247/ruby中,这是一个痛苦的过程。

这里有一个对我来说更简单的解决办法:

\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) http://blog.sunild.com/2013/07/install-ruby-with-rvm-on-mac-os-108.html :

我更喜欢这样

$ 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