Как исправить "У вас нет прав на запись в каталог /usr/bin " при установке Rails?
Я пытаюсь установить Rails 3 на совершенно новый MacBook Pro, работающий под управлением OS X 10.6.3, Ruby 1.8.7 и Rails 2.3.5, и мне интересно, если я сам себя обманул. До сих пор я запускал следующие команды:
$ gem update --system
$ gem install arel tzinfo builder memcache-client rack rack-test rack-mount erubis mail text-format thor bundler i18n
$ gem install rails --pre
Однако, когда я запускаю последнюю команду, я получаю эту ошибку:
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions into the /usr/bin directory.
Я думаю, он хочет, чтобы я выполнил команду с sudo
, чтобы она могла писать через /usr/bin/rails
. Но если я это сделаю, разве я не буду перезаписывать исполняемый файл Rails 2.3.5? Я не хочу этого делать. Вместо этого я хотел бы сохранить обе версии Rails. Как это сделать?
Ответы
Ответ 1
Я бы предложил использовать RVM, что позволяет вам иметь несколько версий Ruby/Rails, установленных с профилями gem, и в основном хранить все ваши драгоценные камни содержащиеся друг от друга. Вы можете захотеть проверить аналогичное сообщение Как установить Ruby on Rails 3 в OSX
Ответ 2
используйте параметр -n
для установки как для cocoapods:
sudo gem install cocoapods -n /usr/local/bin
Ответ 3
Использование флага -n/usr/local/bin работает, НО мне приходилось возвращаться на эту страницу каждый раз, когда я хотел снова обновить пакет. Так что я нашел постоянное решение для этого.
Для тех, кто хочет исправить это навсегда:
Создайте файл ~/.gemrc
vim .gemrc
Со следующим содержанием:
:gemdir:
- ~/.gem/ruby
install: -n /usr/local/bin
Теперь вы можете запустить свою команду в обычном режиме без флага -n.
Наслаждайтесь!
Ответ 4
Вы можете использовать sudo gem install -n /usr/local/bin cocoapods
Это работает для меня.
Ответ 5
sudo gem install cocoapods --pre -n /usr/local/bin
Это работает для меня.
Ответ 6
Чтобы исправить вашу конкретную ошибку, вам нужно запустить эту команду как sudo, то есть:
sudo gem install rails --pre
Ответ 7
Эта ошибка ударила меня после правильной установки RVM.
Решение: перезагрузите терминал.
Ссылка RailsCast RVM Install.
Ответ 8
Для меня что-то другое сработало, что я нашел в этом ответе по аналогичному вопросу. Наверное, это не поможет OP, но, возможно, кто-то вроде меня, у которого была аналогичная проблема.
Вы действительно должны использовать rvm, но, поскольку никто не объяснил вам, как это сделать без rvm, вы здесь:
sudo gem install tzinfo builder memcache-client rack rack-test rack-mount \
abstract erubis activesupport mime-types mail text-hyphen text-format \
thor i18n rake bundler arel railties rails --prerelease --force
Ответ 9
В macOS High Sierra это решило мою проблему:
sudo gem update --system -n /usr/local/bin/gem