На моем Ubuntu 16.04 установлен Ruby.
$which ruby
/usr/bin/ruby
$ruby -v
ruby 2.3.0p0 (2015-12-25) [x86_64-linux-gnu]
$gem install bundler
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /var/lib/gems/2.3.0 directory.
Любая помощь будет оценена!
rubygems
gem-bundler
Дерек
источник
источник
Ответы:
Сначала вам нужно удалить ruby, установленный Ubuntu, с помощью чего-то вроде
sudo apt-get remove ruby
.Затем переустановите ruby с помощью rbenv и ruby-build в соответствии с их документами:
Последний шаг - установить Bundler:
Тогда наслаждайтесь!
Дерек
источник
vim-gnome
например). Думаю, я бы предпочел знать, почему в первую очередь нужно писать/var/lib/...
для установки пользователя ... Я делал,sudo gem install
когда не нужно?Ctrl+Alt+F1
и выполните следующие команды (удаляет и снова устанавливает Cinnamon):sudo apt purge cinnamon && sudo apt install cinnamon
rbenv install -l
доступных версий : для списка всех доступных версий, затемrbenv install 2.5.1
для версии 2.5.1 или того, что вам нужно.Если вы хотите использовать дистрибутив Ruby вместо rb-env / rvm, вы можете настроить
GEM_HOME
для своего текущего пользователя. Начните с создания каталога для хранения гемов Ruby для вашего пользователя:Затем обновите свою оболочку, чтобы использовать этот каталог для
GEM_HOME
и обновить вашуPATH
переменную, включив в нее каталог bin gem Ruby.(Эта последняя строка перезагрузит переменные среды в вашей текущей оболочке.)
Теперь вы должны иметь возможность устанавливать драгоценные камни Ruby под своим пользователем с помощью
gem
команды. Мне удалось заставить это работать с Ruby 2.5.1 под Ubuntu 18.04. Если вы используете оболочку, отличную от Bash, вам нужно будет отредактировать сценарий запуска для этой оболочки вместоbashrc
.источник
(Январь 2019 г.) Чтобы установить Ruby с помощью сценария Rbenv, выполните следующие действия:
1. Сначала обновите индекс пакетов и установите пакеты, необходимые инструменту ruby-build для сборки Ruby из исходного кода:
2. Затем выполните следующую команду curl, чтобы установить как rbenv, так и ruby-build:
3. Добавьте $ HOME / .rbenv / bin в системный PATH.
Если вы используете Bash, запустите:
Если вы используете Zsh, запустите:
4. Установите последнюю стабильную версию Ruby и установите ее как версию по умолчанию с помощью:
5. Убедитесь, что Ruby был правильно установлен, распечатав номер версии:
ИСТОЧНИК: Как установить Ruby на Ubuntu 18.04
РЕДАКТИРОВАТЬ: установить rubygems:
источник
.zshrc
изменений, которые я делал вручную), и он работал отлично. Таким же образом вы добавили , как установитьrubygems
, я предложил бы , возможно , добавление , как впоследствии обновить установленную версию Ruby (я предполагаю , что вы просто запуститьrbenv install
иrbenv global
команды снова и , возможно ,rbenv uninstall
подрезать устаревшие версии)Вместо того, чтобы менять владельцев, что может заблокировать других локальных пользователей, или - когда-нибудь - ваш собственный рубиновый сервер / развертывание ... работает под другим пользователем ...
Я бы предпочел просто расширить права этой конкретной папки на ... ну, всем:
(Я тоже столкнулся с вашей ошибкой. Так что это достоверно подтверждено.)
источник
Попробуйте использовать
chown -R
вvar/lib/gems
каталоге, назначив право собственности на пользователя [rubyusername
] в этом примере, пользователя, который будет устанавливать и разрабатывать с гемами.Это рекурсивно изменяет все в каталоге gems . Для дополнительной безопасности в многопользовательских системах вы также можете создать группу, а не указывать отдельное имя rubyusername, и добавлять пользователей в эту группу.
источник
Основываясь на ответе Дерека выше, обычно не рекомендуется использовать предоставленный системой экземпляр Ruby для вашей собственной разработки, поскольку системные инструменты могут зависеть от конкретной версии или места установки Ruby. Подобно этому ответу для Mac OSX , вы захотите следовать инструкциям Дерека по использованию чего-то вроде rbenv ( RVM - аналогичная альтернатива) для установки собственного экземпляра Ruby.
Однако нет необходимости удалять системную версию Ruby, инструкции по установке rbenv предоставляют механизм, позволяющий убедиться, что экземпляр Ruby, доступный в вашей оболочке, является экземпляром rbenv, а не экземпляром системы. Это
строка в ответе Дерека.
источник
Я столкнулся с той же ошибкой в GitHub Actions. Добавление
sudo
решило проблему.источник
У меня сработала переустановка Компаса .. Это волшебство!
источник
Ubuntu 20.04:
Вариант 1 - настроить каталог установки гема для вашей учетной записи пользователя
Для bash (для zsh мы,
.zshrc
конечно , будем использовать )Вариант 2 - использовать оснастку
Удалите apt-version (
ruby-full
) и переустановите с помощьюsnap
источник