Команда bundle install не позволяет запускать её от пользователя root. Например, следующая последовательность команд завершится неудачей:
gem update --system xcode-select --install gem install nokogiri bundle install
Последняя команда покажет ошибку:
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and installing your bundle as root will break this application for all non-root users on this machine. Could not locate Gemfile
Это может стать настоящей проблемой, если основным пользователем на вашем компьютере является root. На некоторых серверах пользователем по умолчанию является root.
У bundle install нет опций, чтобы игнорировать что команда запущена с повышенными привилегиями. Но всё равно есть способ обойти это проблему — создать нового пользователя и выполнить команду от его имени.
Чтобы создать нового пользователя в Debian, Kali Linux, Linux Mint, Ubuntu выполните команду вида:
sudo useradd -m -G sudo -s /bin/bash НОВЫЙ_ПОЛЬЗОВАТЕЛЬ
Чтобы создать нового пользователя в Arch Linux, Manjaro, BlackArch и их производных выполните команду вида:
sudo useradd -m -g users -G wheel,video -s /bin/bash НОВЫЙ_ПОЛЬЗОВАТЕЛЬ
Связанная статья: Как создать нового пользователя в Linux
После этого достаточно выполнить вход новым пользователем:
su - НОВЫЙ_ПОЛЬЗОВАТЕЛЬ
И вновь запустить bundle:
bundle install
В этот раз команда завершится удачно.
Чтобы вернуться к пользователю root, то есть выйти из сессии нового пользователя, нажмите Ctrl+d.
Связанные статьи:
- Ошибка «Could not find 'nokogiri'» (РЕШЕНО) (100%)
- Решение проблемы с ошибкой cannot load such file -- test/unit (LoadError) (51.8%)
- Как установить конкретную версию Ruby gem? (51.8%)
- Решение проблемы со сломавшимся после обновления пакетов Pip (1.8%)
- Решение проблемы с ошибкой fatal error: libxml/xmlversion.h: Нет такого файла или каталога (1.8%)
- Решение проблемы «WARNING: UNPROTECTED PRIVATE KEY FILE!» (RANDOM - 1.8%)