Как установить rvm без доступа root?

Я хотел бы установить драгоценный камень travis на машину без рубиновых драгоценных камней и на которой у меня нет корня. (Я хочу зашифровать что-то для использования с travis.) Я решил попробовать установить rvm, потому что https://rvm.io/rvm/install предполагает, что это простой способ для установки ruby ​​без root. Однако я сразу столкнулся с проблемами:

[email protected]:~$ \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 <[email protected]>, Michal Papis <[email protected]> [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.

Итак, я снова попробовал:

[email protected]:~$ \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 <[email protected]>, Michal Papis <[email protected]> [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 и создания рубина из исходного кода?

Ответы

Ответ 1

TL; DR

Вам не нужны зависимости пакетов, необходимые для создания Ruby.

Пакеты и автолибы

Проблема в том, что в последних версиях (их) RVM используется функция autolibs, которые пытаются установить зависимости пакетов. Конечно, вам нужен sudo доступ для установки системных пакетов. Вы можете попробовать установить интерпретатор Ruby с помощью:

  • --autolibs=read-only - чтобы избежать ошибки sudo, но это вряд ли приведет к созданию рабочего двоичного файла.
  • --autolibs=rvm_pkg - будет использовать старый rvm pkg install ... для установки отсутствующих зависимостей, если они могут быть предоставлены RVM, это займет много времени и не гарантируется работа.
  • --autolibs=read-fail - чтобы избежать ошибки sudo, он будет создавать список зависимостей для установки для следующего раздела.

Запросить корень для установки зависимостей пакетов

В общем, самым простым решением является попросить root установить пакеты, которые ожидает RVM. Это должно быть вашей первой остановкой, прежде чем делать что-либо еще. Могут быть законные причины использовать статические двоичные файлы или вручную создавать все ваши зависимости, но почему бы вам не сделать что-то проще, если вы можете?

Попробуйте предустановленные, статические двоичные файлы

Если вы не можете установить необходимые пакеты, вы можете попробовать команду rvm list remote, чтобы узнать, есть ли какие-либо предварительно созданные двоичные файлы для вашей системы, которые могут быть установлены RVM. Если вам не хватает пакетов, вам может понадобиться статический двоичный код, который вы можете использовать с помощью команды rvm mount. Вы даже можете построить интерпретатор в другой системе и смонтировать его с помощью соответствующего удаленного URL; подробнее см. rvm help mount.