Как Рубисту Выжить После Обновления Osx 10.10 Yosemite

На днях вышла очередная версия OSX 10.10 Yosemite, и если для обычных пользователей Mac вопрос «обновлять или нет» не стоит, то разработчики вполне могут задать себе аналогичный вопрос.

Это было редкое крупное обновление за последние годы, которое не принесло нам никаких проблем с софтом, библиотеками и консолью.

Текущее обновление также не может похвастаться наличием каких-либо проблем.

Одним из лучших советов здесь, конечно, будет подождать месяц-два и только потом обновляться — это убережет вас от многих проблем и потраченного времени.

Но ждать не хочется, и поэтому после обновления все гарантированно сломается (речь в основном идет о рубине и рельсах): выскочат сег-фуаги, не соберутся некоторые гемы, возникнут проблемы со скриптами в консоли.

Исправить некоторые проблемы гугл будет легко, а для некоторых предлагают лишь хаки в виде установки дополнительных параметров компиляции и переменных окружения.

Большую часть выходных автор потратил на полное обновление системы и настройку рабочей среды, в результате чего на свет появилась описанная ниже инструкция.

Если вы разработчик Ruby, занимающийся разработкой на Mac и планирующий обновление, то соблюдение следующих пунктов значительно поможет вам сэкономить время.

  1. Первым шагом после обновления OSX является запуск Xcode, установка обновлений и согласие с новой лицензией.

  2. В апсторе почему-то доступна только 6.0.1, хотя для нормальной работы в Yosemite требуется 6.1, поэтому скачайте и установите Xcode 6.1 по эта ссылка , затем в консоли запустите
      
      
      
      
      
      
      
       

    xcode-select --install

  3. Yosemite сделал что-то с консолью, из-за чего переменные среды в текущем сеансе терминала и переменные среды при выполнении скриптов/программ различаются, или, точнее, изменения, внесенные в PATH в ~/.

    bashprofile или ~/.

    zshrc, не будут быть подобранным.

    Я не знаю, в чем проблема, но на практике оказывается две переменные PATH: та, которая содержит изменения из вашего ~/.

    bashrc, и та, которая добавляется в систему по умолчанию.

    Из-за этого в консоли начинает происходить множество ошибок, на которые жалуются по всему Интернету.

    Чтобы избежать неизвестных проблем, вам необходимо явно указать оболочку входа «/usr/bin/login -f ваше_имя_пользователя» в настройках консоли.



    Как рубисту выжить после обновления OSX 10.10 Yosemite

  4. Далее вам следует обновить homebrew, который у вас не будет работать из-за написанной в нем версии Ruby 1.8.

    cd /usr/local git pull

  5. Следующим шагом будет установка gcc и его зависимостей, если вы не установили его раньше.



    brew install gcc

  6. Пришло время обновить ваши пакеты для домашнего пивоварения.



    brew upgrade

  7. Что-то все еще может быть не так, поэтому убедитесь, что Brew Doctor не выявил никаких проблем.

  8. Мы обновляем бах , потому что в Йосемити вырезали некоторые устаревшие API, используемые в старом pow.

    curl get.pow.cx | sh

  9. Теперь вы можете переустановить Ruby

    rvm reinstall 2.1.3

  10. И последним пунктом будет 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

После вышеописанных манипуляций Bundle install в вашем проекте должен наконец-то работать корректно и собрать все гемы без ошибок.

Хорошей работы.

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

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.