не могу установить ruby ​​с помощью rvm в качестве непривилегированного пользователя без привилегий sudo

Согласно документации rvm на

      https://rvm.io/rvm/install

должна быть возможность установить rvm, а затем и ruby, как непривилегированный пользователь.

При устранении неполадок в

      https://rvm.io/support/troubleshooting

Говорится:

Любой пользователь в группе rvm может обновлять RVM, ruby ​​и gemsets. Нет причин использовать sudo post-install.

rvm прекрасно устанавливается как непривилегированный пользователь (группы rvm нет):

      nosudo-user@my-site.com:~$ bash ~/downloads/rvm_installer.sh stable
Downloading https://github.com/rvm/rvm/archive/1.29.12.tar.gz
Downloading https://github.com/rvm/rvm/releases/download/1.29.12/1.29.12.tar.gz.asc
...
Installing RVM to /<user-home>/.rvm/
...

Однако, когда я пытаюсь установить рубиновую версию, мне не удается (я думаю) выполнить apt-get, потому что для этого нужны привилегии sudo:

      nosudo-user@my-site.com:~$ rvm install 2.6.6
Searching for binary rubies, this might take some time.
Found remote file https://rvm_io.global.ssl.fastly.net/binaries/ubuntu/20.04/x86_64/ruby-2.6.6.tar.bz2
...
Updating system... password required for 'apt-get --quiet --yes update': 
.
Error running 'requirements_debian_update_system ruby-2.6.6',
please read /<user-home>/.rvm/log/1659735568_ruby-2.6.6/update_system.log
Requirements installation failed with status: 1.

Из журнала:

      2022-08-05 21:39:28] requirements_debian_update_system
requirements_debian_update_system ()
{
    __rvm_try_sudo apt-get --quiet --yes update || {
        \typeset __ret=$?;
        case ${__ret} in
            100)
                rvm_error "There has been an error while updating your system using \`apt-get\`.
It seems that there are some 404 Not Found errors for repositories listed in:

    /etc/apt/sources.list
    /etc/apt/sources.list.d/*.list

apt-get update (как пользователь с привилегиями sudo) не показывает ошибок.

Как установить rvm, чтобы непривилегированный пользователь мог установить версию ruby?

1 ответ

Я предполагаю, что в вашей системе отсутствуют некоторые базовые системные библиотеки для сборки Ruby из исходного кода. Следовательно, RVM пытается получить для вас библиотеки сборки. Это будет одноразовое обновление, и после того, как в вашей системе будут установлены соответствующие библиотеки, RVM не потребуетснова.

Однако, если вы хотите, вы можете полностью отключить обновление с помощью:

      rvm autolibs disable 

Обратите внимание, что если у вас отсутствуют требования к сборке, то этап сборки Ruby, скорее всего, завершится ошибкой. Единственный способ узнать это попробовать.

В таком случае вы можете использоватьКоманда, которая поможет вам установить отсутствующие зависимости:

      rvm requirements
Другие вопросы по тегам