На днях вышла очередная версия OSX 10.10 Yosemite, и если для обычных пользователей Mac вопрос «обновлять или нет» не стоит, то разработчики вполне могут задать себе аналогичный вопрос.
Это было редкое крупное обновление за последние годы, которое не принесло нам никаких проблем с софтом, библиотеками и консолью.
Текущее обновление также не может похвастаться наличием каких-либо проблем.
Одним из лучших советов здесь, конечно, будет подождать месяц-два и только потом обновляться — это убережет вас от многих проблем и потраченного времени.
Но ждать не хочется, и поэтому после обновления все гарантированно сломается (речь в основном идет о рубине и рельсах): выскочат сег-фуаги, не соберутся некоторые гемы, возникнут проблемы со скриптами в консоли.
Исправить некоторые проблемы гугл будет легко, а для некоторых предлагают лишь хаки в виде установки дополнительных параметров компиляции и переменных окружения.
Большую часть выходных автор потратил на полное обновление системы и настройку рабочей среды, в результате чего на свет появилась описанная ниже инструкция.
Если вы разработчик Ruby, занимающийся разработкой на Mac и планирующий обновление, то соблюдение следующих пунктов значительно поможет вам сэкономить время.
- Первым шагом после обновления OSX является запуск Xcode, установка обновлений и согласие с новой лицензией.
- В апсторе почему-то доступна только 6.0.1, хотя для нормальной работы в Yosemite требуется 6.1, поэтому скачайте и установите Xcode 6.1 по эта ссылка , затем в консоли запустите
xcode-select --install
- Yosemite сделал что-то с консолью, из-за чего переменные среды в текущем сеансе терминала и переменные среды при выполнении скриптов/программ различаются, или, точнее, изменения, внесенные в PATH в ~/.
bashprofile или ~/.
zshrc, не будут быть подобранным.
Я не знаю, в чем проблема, но на практике оказывается две переменные PATH: та, которая содержит изменения из вашего ~/.
bashrc, и та, которая добавляется в систему по умолчанию.
Из-за этого в консоли начинает происходить множество ошибок, на которые жалуются по всему Интернету.
Чтобы избежать неизвестных проблем, вам необходимо явно указать оболочку входа «/usr/bin/login -f ваше_имя_пользователя» в настройках консоли.
- Далее вам следует обновить homebrew, который у вас не будет работать из-за написанной в нем версии Ruby 1.8.
cd /usr/local git pull
- Следующим шагом будет установка gcc и его зависимостей, если вы не установили его раньше.
brew install gcc
- Пришло время обновить ваши пакеты для домашнего пивоварения.
brew upgrade
- Что-то все еще может быть не так, поэтому убедитесь, что Brew Doctor не выявил никаких проблем.
- Мы обновляем бах , потому что в Йосемити вырезали некоторые устаревшие API, используемые в старом pow.
curl get.pow.cx | sh
- Теперь вы можете переустановить Ruby
rvm reinstall 2.1.3
- И последним пунктом будет postgres, если вы его конечно используете.
В Йосемити он у вас перестанет запускаться, и чтобы это исправить, создайте три каталога.
mkdir /usr/local/var/postgres/pg_tblspc mkdir /usr/local/var/postgres/pg_twophase mkdir /usr/local/var/postgres/pg_stat_tmp touch /usr/local/var/postgres/pg_tblspc/.
keep touch /usr/local/var/postgres/pg_twophase/.
keep touch /usr/local/var/postgres/pg_stat_tmp/.
keep
Хорошей работы.
P.S. Дополнения из комментариев:
- Перед обновлением OSX запустите Brew Update && Brew Upgrade.
- Что касается пункта 3, переменные среды необходимо переместить в ~/.
profile.
П.
С.
Столкнулся с еще одной проблемой: после обновления сломался русский язык в рейл-консоли.
Чтобы это исправить, вам нужно записать это в ~/.
zshrc или в ~/.
profile. LANG="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_CTYPE="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_ALL="ru_RU.UTF-8"
Теги: #ruby onrails #ruby #osx #yosemite #yosemite #боль и страдание #ruby onrails #разработка под MacOS
-
Почему Я Не Стану Успешным?
19 Oct, 24 -
It-Квест 4
19 Oct, 24 -
Rспец. Часть №1: Создание Тестов Для Модели
19 Oct, 24 -
Вы Читаете Большие Комментарии?
19 Oct, 24