не могу установить 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