在我的Debian服务器上,我有一个名为“deployer”的用户没有sudo
访问权限,并安装了RVM。
使用“deployer”(如1.9.3)安装Ruby时,会触发安装依赖项的任务
"Installing requirements for debian, might require sudo password."
失败并停止安装,因为“deployer”无法sudo。
我不想在sudoers列表中添加“deployer”,也不想为其他用户安装RVM,只是为了一次性安装依赖项。
安装该依赖项的正确方法是什么?或者我如何列出它们以手动安装?
答案 0 :(得分:152)
这确实是RVM的一个名为autolibs
的新功能,它会自动安装依赖项。
如果您已经安装了RVM,并且它要求您提供sudo
密码,则可以禁用autolibs:
$ rvm autolibs disable
$ rvm requirements # manually install these
$ rvm install ruby
否则,您可以使用以下命令安装不带autolib的RVM:
$ \curl -L https://get.rvm.io | bash -s -- --autolibs=read-fail
我理解动机,但觉得很烦人。我不想把我的sudo密码放到RVM中,也不想捆绑!请社区,停止这样做。
答案 1 :(得分:32)
我更喜欢这个
$ 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
答案 2 :(得分:6)
accepted answer无法将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
答案 3 :(得分:-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中失败。