OS X Mavericks сломал rbenv?
Недавно я установил OS X Mavericks, и это, казалось, испортило мою среду разработки. Я получил это сообщение после запуска 'rails new first_app':
Your user account isn't allowed to install to the system Rubygems.
You can cancel this installation and run:
bundle install --path vendor/bundle
to install the gems into ./vendor/bundle/, or you can enter your password
and install the bundled gems to Rubygems using sudo.
Password:
Fetching gem metadata from https://rubygems.org/..........
Fetching additional metadata from https://rubygems.org/..
Resolving dependencies...
Using rake (10.1.1)
Using i18n (0.6.9)
Using minitest (4.7.5)
Using multi_json (1.9.0)
Using atomic (1.1.15)
Using thread_safe (0.2.0)
Errno::EACCES: Permission denied - /Library/Ruby/Gems/2.0.0/build_info/tzinfo-0.3.39.info
An error occurred while installing tzinfo (0.3.39), and Bundler cannot continue.
Make sure that `gem install tzinfo -v '0.3.39'` succeeds before bundling.
Затем я сделал то, что от меня требовали:
christohersmbp2:hartl christopherspears$ gem install tzinfo -v '0.3.39'
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
Что странно, так это то, что у меня установлен rbenv. На самом деле, пытаясь устранить эту проблему, я обновил rbenv:
christohersmbp2:~ christopherspears$ brew update
Already up-to-date.
christohersmbp2:~ christopherspears$ brew upgrade rbenv ruby-build
Warning: A newer Command Line Tools release is available
Update them from Software Update in the App Store.
Error: rbenv-0.4.0 already installed
Error: ruby-build-20140225 already installed
Тем не менее, я получаю это сообщение об ошибке при попытке вызвать rbenv из командной строки:
christohersmbp2:hartl christopherspears$ rbenv
-bash: rbenv: command not found
christohersmbp2:~ christopherspears$ rbenv rehash
-bash: rbenv: command not found
Я думаю, что я правильно настроил путь:
christohersmbp2:hartl christopherspears$ echo $PATH
/usr/local/share/python:/Users/christopherspears/.rbenv/bin:/Users/christopherspears/bin:/usr/local/heroku/bin:/usr/local/share/npm/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin
Вот что у меня есть в моем файле.bash_profile:
# rbenv stuff
export PATH="$HOME/.rbenv/bin:$PATH"
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi
Как ни странно, я думаю, что я использую версию Ruby в моей папке версий:
christohersmbp2:versions christopherspears$ pwd
/Users/christopherspears/.rbenv/versions
christohersmbp2:versions christopherspears$ ls
2.0.0-p247/
christohersmbp2:versions christopherspears$ ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin13]
Есть намеки? Кажется, я все делаю правильно.
ОБНОВИТЬ:
Я скачал и установил инструменты командной строки Xcode. Не похоже на работу:
christohersmbp2: ~ christopherspears $ rbenv -bash: rbenv: команда не найдена
2 ответа
Ну... секрет, видимо, состоит в том, чтобы удалить, а затем переустановить rbenv. На самом деле, удаление и повторная установка dev-инструмента, сломанного OS X Mavericks, кажется (почти) решением проблемы.
Как говорит @Christoper Spears, удалите, а затем переустановите, а точнее:
$ brew uninstall rbenv
$ brew install rbenv
(Предположим, вы использовали brew
установить его в первую очередь).