Статьи

Рельсы на Эль Капитане

После обновления до 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. Если я увижу что-нибудь еще, я обновлю этот пост.