qichunren@zhaobak:~> gem install hpricot
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions into the /opt/ruby-enterprise-1.8.7/lib/ruby/gems/1.8 directory.
Текущий логин - qichunren, и у пользователя qichunre есть права на запись в директорию .gem. Я хотел бы знать, почему gem не устанавливает файлы в мой домашний каталог .gem сначала? Почему мой общий гем сначала хочет установить файлы в /opt/ruby-enterprise-1.8.7/lib/ruby/gems/1.8
ruby-on-rails
ruby
gem
qichunren
источник
источник
rvm gem install hpricot
Попробуйте установить
GEM_HOME
иGEM_PATH
к~/.gem
,Для текущего сеанса терминала просто введите:
export GEM_HOME=~/.gem export GEM_PATH=~/.gem
Если вы хотите, чтобы они устанавливались всякий раз, когда вы открываете терминал, добавьте указанные выше команды в свой
~/.bashrc
файл.Более подробное решение по настройке пользовательской среды ruby можно найти в этом руководстве от Site5KB , в котором описывается использование
.gemrc
файла.источник
.gemrc
настройке. Для новичков в области рубиновых драгоценных камней это пугает, когда я понимаю, что ваше решение намного проще, что я добавил. Решение работает для меня, но как новичок в Ruby, пожалуйста, подтвердите, что мои изменения соответствуют вашим намерениям.PATH=$HOME/.gems/bin:$HOME/bin:$PATH GEM_HOME=$HOME/.gems GEM_PATH=$HOME/.gems:/var/lib/gems/2.1.0:/usr/lib/ruby/gems/2.1.0 export PATH GEM_HOME GEM_PATH
Я получал эту ошибку на моем общем сервере через хостинг 1and1. Мое решение заключалось в добавлении
--user-install
опции, которая просто устанавливает ее для вашего вошедшего в систему пользователя (это все, что вам нужно в среде общего сервера); установка sassисточник
--user-install
.Если вы используете rbenv и это происходит, вам нужно добавить в свой .bash_profile следующее:
export RBENV_ROOT="$HOME/.rbenv" if [ -d $RBENV_ROOT ]; then export PATH="$RBENV_ROOT/bin:$PATH" eval "$(rbenv init -)" fi
источник
переустановите рубин, решите мою проблему.
источник