После обновления до El Capitan вы можете обнаружить некоторые ошибки в настройке Rails, с которой вы работаете. Например, такие вещи, как Homebrew могут не работать должным образом, что означает, что ваша установка Postgresql испорчена. RVM также может стать немного странным. Итак, вот что я нашел до сих пор, и что вы можете сделать, чтобы это исправить.
Xcode
Вы, вероятно, уже получили обновление для XCode. Если нет, то иди и возьми. Обновление инструментов командной строки будет необходимо. Ирония в том, что после обновления Xcode вы начнете видеть проблемы в других местах с RVM и тому подобным. Тем не менее, обновите Xcode, но в конце он будет отсортирован.
Не забудьте открыть Xcode и также принять лицензионное соглашение — в противном случае это может вас испортить.
Homebrew
** СОЗДАЙТЕ ЛОКАЛЬНЫЕ БАЗЫ ДАННЫХ, СДЕЛАЙТЕ ЭТО СЕЙЧАС.
Причина этого серьезного предупреждения: вам, скорее всего, придется удалить Homebrew, а это означает, что ваше хранилище данных также может исчезнуть.
Я пробовал различные исправления, чтобы остановить Homebrew сообщения об ошибках при попытке обновления с:
brew update
Но тогда звонок:
brew doctor
Выявлено, что с разрешениями происходит что-то странное. Немного Googling, казалось, подразумевало, что Homebrew еще не был готов к El Capitan.
Затем я посетил репозиторий Github и увидел коммиты, ссылающиеся на El Capitan, так что я решил, что полное удаление было в порядке, поэтому я мог переустановить и исправить проблемы.
Есть удобный скрипт для удаления:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)";
Это уничтожит его, а также все, что вы установили через Homebrew. Но это займет около 30 минут, чтобы восстановить все заново.
Далее мы переустановим:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Это отсортировано по Homebrew, но прежде чем мы пойдем дальше, мы разберемся с RVM.
РВМ
Я думаю, что случилось так: мне удалось запутаться в некоторых гем-зависимостях с парой старых приложений Rails, которые я поддерживаю. Поэтому RVM испортился по этой причине, а не из-за перехода на El Capitan.
Я закончил тем, что удалил это полностью, чтобы я мог начать снова:
>rvm implode
Затем вы можете удалить все следы с помощью:
rm -rf .rvm
rm -rf .rvmrc
Rbenv
Теперь, когда у меня была чистая система, я решил попробовать rbenv . Я никогда не использовал это, таким образом это казалось хорошей возможностью испытать это. Вы можете установить через Homebrew:
brew install rbenv ruby-build
Далее, мы хотим, чтобы rbenv был доступен каждый раз, когда мы запускаем Терминал:
echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
source ~/.bash_profile
Наконец, мы можем установить Ruby:
rbenv install 2.2.3
rbenv global 2.2.3
И теперь вы можете проверить свою версию Ruby:
ruby -v
Рельсы
Теперь вы должны быть в состоянии сделать:
gem install rails
Это может произойти эффектно, с такой ошибкой:
The file "/usr/include/iconv.h" is missing in your build environment,
which means you haven't installed Xcode Command Line Tools properly.
Вы можете запустить:
xcode-select --install
Чтобы загрузить инструменты командной строки для Xcode. Как только они будут установлены (это займет всего пару минут), попробуйте снова. На этот раз Rails должен быть успешно установлен.
Вы должны сообщить об этом rbenv через:
rbenv rehash
И проверка версии:
rails -v
Должен подтвердить, что Rails — это хорошо.
Postgresql
Если вы удалили Homebrew, вам нужно будет переустановить Postgresql:
brew install postgresql
Затем вы можете убедиться, что он запускается автоматически для вас:
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
Этого может быть достаточно, чтобы ваш сервер работал и работал. Он может не запуститься, жалуясь на отсутствие каталогов. Создайте каталоги, которые, как он утверждает, отсутствуют, перейдя в каталог Postgresql:
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
А потом работает (например) mkdir pg_tblspc pg_twophase pg_stat_tmp
для всех каталогов, которые пропали без вести. Как только вы это сделаете, ваш сервер запустится нормально.
В заключение…
Теперь у вас есть Ruby / Rails и работает на вашей установке El Capitan. Если я увижу что-нибудь еще, я обновлю этот пост.