#ruby #bundler
gem install bundler После этой вот команды
Ответы
Ответ 1
Вы попытались установить гем в системный репозиторий, не имея на то привилегий. В первую очередь, разрешения установлены не без причины. Обычно общесистемный репозиторий гемов считается безопасным для всех пользователей системы, включая привилегированных. Поэтому то, что к его изменению доступ ограничен, резонно. Иначе кто угодно мог бы добавить туда код, которым мог вы воспользоваться (не зная об изменениях) пользователь с высокими полномочиями. Так что разрешения к той папке не трогайте. Есть другие варианты. --user-install Гемы можно установить в собственную папку пользователя ("домашний репозиторий"), если они потребуются только ему. За это отвечает флаг --user-install. gem install --user-install bundler Чтобы не указывать этот флаг каждый раз и по умолчанию всё держать "дома": нужно в домашней папке сделать файл .gemrc (скорее всего, у вас его не существует) и убедиться, что у опции install есть флаг --user-install. Файл только с этой опцией может выглядеть так: --- install: --user-install Можно добавить этот и другие флаги аналогичным образом и для других подкоманд gem, не только install. sudo Если устанавливаемые гемы нужны всем, можно поставить их и с sudo в "системный репозиторий". Пользоваться гемами в этом репозитории смогут все. Но что попало туда устанавливать не стоит, по причине, описанной в начале ответа. Менеджеры версий На машине разработчика обычно имеет смысл держать несколько версий Ruby, для чего обычно используют менеджер версий. RVM мне видится самым простым в использовании, но есть также rbenv и обобщённый на много языков asdf. У них у всех есть документация, и при обычной установке они всё своё "имущество" держат с домашней папке пользователя, посему не требуют прав суперпользователя для работы.
Комментариев нет:
Отправить комментарий