15

我想将travisgem 安装在没有 ruby​​ gems 并且我没有 root 的机器上。(我想加密一些东西以供 travis 使用。)我决定尝试安装 rvm,因为https://rvm.io/rvm/install表明这是一种无需 root 即可安装 ruby​​ 的简单方法。但是,我马上遇到了问题:

jgross@cagnode17:~$ \curl -L https://get.rvm.io | bash -s stable --ruby
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 13961  100 13961    0     0  15390      0 --:--:-- --:--:-- --:--:--  170k
Please read and follow further instructions.
Press ENTER to continue.
Downloading RVM from wayneeseguin branch stable
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1083k  100 1083k    0     0   200k      0  0:00:05  0:00:05 --:--:--  199k

Installing RVM to /afs/csail.mit.edu/u/j/jgross/.rvm/
    RVM PATH line found in /afs/csail.mit.edu/u/j/jgross/.bashrc /afs/csail.mit.edu/u/j/jgross/.zshrc.
    RVM sourcing line found in /afs/csail.mit.edu/u/j/jgross/.bash_profile /afs/csail.mit.edu/u/j/jgross/.zprofile.
Installation of RVM in /afs/csail.mit.edu/u/j/jgross/.rvm/ is almost complete:

  * To start using RVM you need to run `source /afs/csail.mit.edu/u/j/jgross/.rvm/scripts/rvm`
    in all your open shell windows, in rare cases you need to reopen all shell windows.

# Jason Gross,
#
#   Thank you for using RVM!
#   I sincerely hope that RVM helps to make your life easier and more enjoyable!!!
#
# ~Wayne

# In case of problems:
#      run and read: rvm notes
#         read docs: http://rvm.io/
#        talk to us: http://webchat.freenode.net/?channels=rvm (http://freenode.net/faq.shtml#plusr)
#   read cheatsheet: http://cheat.errtheblog.com/s/rvm
#  watch screencast: http://screencasts.org/episodes/how-to-use-rvm
# open a bug report: https://github.com/wayneeseguin/rvm/issues

rvm 1.22.2 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

Searching for binary rubies, this might take some time.
Checking requirements for debian.
Installing requirements for debian.
jgross password required for 'apt-get --quiet --yes update': 
Sorry, try again.
jgross password required for 'apt-get --quiet --yes update': 
Sorry, try again.
jgross password required for 'apt-get --quiet --yes update': 
Sorry, try again.
sudo: 3 incorrect password attempts
Requirements installation failed with status: 1.

于是我又试了一次:

jgross@cagnode17:~$ \curl -L https://get.rvm.io | bash -s stable --ruby
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 13961  100 13961    0     0  27936      0 --:--:-- --:--:-- --:--:-- 27936
Please read and follow further instructions.
Press ENTER to continue.
Downloading RVM from wayneeseguin branch stable
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1083k  100 1083k    0     0   158k      0  0:00:06  0:00:06 --:--:--  186k

Upgrading the RVM installation in /afs/csail.mit.edu/u/j/jgross/.rvm/
    RVM PATH line found in /afs/csail.mit.edu/u/j/jgross/.bashrc /afs/csail.mit.edu/u/j/jgross/.zshrc.
    RVM sourcing line found in /afs/csail.mit.edu/u/j/jgross/.bash_profile /afs/csail.mit.edu/u/j/jgross/.zprofile.
Upgrade of RVM in /afs/csail.mit.edu/u/j/jgross/.rvm/ is complete.

# Jason Gross,
#
#   Thank you for using RVM!
#   I sincerely hope that RVM helps to make your life easier and more enjoyable!!!
#
# ~Wayne

# In case of problems:
#      run and read: rvm notes
#         read docs: http://rvm.io/
#        talk to us: http://webchat.freenode.net/?channels=rvm (http://freenode.net/faq.shtml#plusr)
#   read cheatsheet: http://cheat.errtheblog.com/s/rvm
#  watch screencast: http://screencasts.org/episodes/how-to-use-rvm
# open a bug report: https://github.com/wayneeseguin/rvm/issues

Upgrade Notes:

  * No new notes to display.


rvm 1.22.2 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

Searching for binary rubies, this might take some time.
Checking requirements for debian.
Installing requirements for debian.
jgross password required for 'apt-get --quiet --yes update': 
Sorry, try again.
jgross password required for 'apt-get --quiet --yes update': 
sudo: 1 incorrect password attempt
Requirements installation failed with status: 1.
ruby-2.0.0-p247 is not installed.
Creating alias default for ruby-2.0.0-p247.
Recording alias default for ruby-2.0.0-p247.
Creating default links/files
ruby-2.0.0-p247 is not installed.
Could not load ruby ruby-2.0.0-p247.
/afs/csail.mit.edu/u/j/jgross/.rvm/scripts/alias: line 108: /afs/csail.mit.edu/u/j/jgross/.rvm/rubies/ruby-2.0.0-p247/bin/ruby: No such file or directory

  * To start using RVM you need to run `source /afs/csail.mit.edu/u/j/jgross/.rvm/scripts/rvm`
    in all your open shell windows, in rare cases you need to reopen all shell windows.

尝试rvm install 1.8给了我关于 debian 要求的相同错误消息。除了放弃 rvm 并从源代码构建 ruby​​ 之外,我还有其他选择吗?

4

1 回答 1

22

TL;博士

您缺少构建 Ruby 所需的包依赖项。

包和自动库

您面临的问题是 RVM 的最新(ish)版本使用了一个名为autolibs的功能,它试图安装包依赖项。当然,您需要sudo访问权限才能安装系统包。您可以尝试使用以下命令安装 Ruby 解释器:

  • --autolibs=read-only- 避免sudo错误,但这不太可能导致二进制文件正常工作。
  • --autolibs=rvm_pkgrvm pkg install ...-如果 RVM 可以提供缺少的依赖项,则将使用旧的依赖项来安装它们,这将花费很长时间并且不保证可以正常工作。
  • --autolibs=read-fail- 为避免sudo错误,它将为下一部分生成要安装的依赖项列表。

要求 Root 安装软件包依赖项

一般来说,最简单的解决方案是让 root安装RVM 期望的包。这真的应该是您在做任何其他事情之前的第一站。使用静态二进制文件或手动构建所有依赖项可能有正当理由,但如果可以的话,为什么不以简单的方式做事呢?

尝试预建的静态二进制文件

如果您无法安装必要的软件包,您可以尝试使用该rvm list remote命令查看是否有任何可通过 RVM 安装的系统预构建二进制文件。如果您缺少包,那么您可能需要查找可以与该rvm mount命令一起使用的静态二进制文件。您甚至可以在另一个系统上构建解释器,并使用适当的远程 URL 安装它;详情见rvm help mount

于 2013-08-17T06:48:32.067 回答