Как стать автором
Обновить

Комментарии 76

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

После обновления, если вы используете MAMP, то у php перестал работать mcrypt. Чтобы починить надо:
1. Выяснить путь к php:
which php
2. Переименовать данную директорию (у вас путь может отличаться):
mv /usr/bin/php /usr/bin/php_old
3. Посмотреть какая версия php используется MAMP'ом (у меня это 5.5.10) и сделать симлинк:
sudo ln -s /Applications/MAMP/bin/php/php5.5.10/bin/php /usr/bin/php
4. Перезагрузить apache
Настраивал LAMP без мампа, после обновления получил новый apache 2.4 c шаблонным конфигом. php из brew не рабочий, нужно переустановить. что бы переустановить нужно обновить Command Line Tools.
Но в целом не так сложно как с ruby судя по статье…
Как вы могли настроить ЛАМП на маке?
Apache стоит из коробки вместе с php и другими модами, только конфиги поправить, mysql можно скачать с сайта, phpmyadmin тоже лежит на сайте. Если хочеться другую версию php или менять их то brew лучшая вещь.
Я просто докопался до аббревиатуры. LAMP — Linux, Apache, MySQL, PHP; MAMP — MacOS, Apache, MySQL, PHP. Не более :)
А точно :) зря они свою прогу так назвали :)
  • Оставил xcode 6.0.1
  • Через xcode-select --install установил CLT 6.1
  • Сделал rvm reinstall ruby-#{your-version}
  • Сделал brew doctor(был только варнинг о Xcode 6.0.1), brew update, brew upgrade (без git pull в /usr/local)
  • pow не использую
  • Сделал пункт 10.
  • Пункт 3 не делал (в iTerm все ок)
gcc -v

Apple LLVM version 6.0 (clang-600.0.51) (based on LLVM 3.5svn)
В созданные для постгреса директории стоит ещё добавить что-нибудь типа файла .keep, т.к. спустя некоторое время Yosemite их удалит, если они останутся пустыми.
По поводу п.3 — переменные окружения нужно перенести в ~/.profile.
А, ну еще могу посоветовать активнее использовать виртмашины для разработки, и тогда подобных проблем будет сильно меньше.
Это вообще золотое правило — чем среда разработки ближе к продакшену, тем проблем меньше
НЛО прилетело и опубликовало эту надпись здесь
В интернете есть манул что надо в конфиг пф прописать
НЛО прилетело и опубликовало эту надпись здесь
homebrew и пакеты желательно держать обновленными и до обновления системы.
Кроме того, если у вас мало места на диске (<~30 ГБ) то желательно почистить /usr/local, потому что если у вас там установлены rubygems, то установка может затянутся на несколько часов. Рекомендую в таком случае вообще удалить rbenv или rvm и заново переустановить после апгрейда.
Спасибо за совет! При прошлом апдейте я прождал что-то около 3 часов (и это на ssd), rvm занимал ~2G.
а не лучше ли поменять местами пункты 5 и 6? Окончательно обновить brew, а потом что-то ставить.

ЗЫ: postgres есть в виде app, очень удобно, если нужно быстро поднять. postgresapp.com
у меня при brew upgrade получилось так, что gcc не поставился. при этом из-за него не смоги поставиться некоторые другие пакеты, а информация о том, что пакеты не поставились оказалась где-то внутри длинного вывода логов homebrew. и я этого не увидел, в итоге потом ещё дополнительно разбирался почему что-то так не поставилось не поставились и из-за чего.
поэтому вынес пункт с gcc отдельно, чтобы проблему, если она возникнет, можно было сразу заметить
Похоже настал тот самый момент, когда обновление Windiws происходит наименее проблемно, хотя лично у меня и убунта 14.04 хорошо встала.
Ой, при установке dev-bullshit'а вроде Visual Studio — она ставит столько зависимостей, что выносить студию из системы проще всего как раз вместе с системой. Так что виртуалка тут тоже очень решает, кроме случая подключения всяких девайсов по всяким «хитрым эмуляторам/терминалам», но в нормальных компаниях таки для тестов выдают отдельные железяки, на которых при желании OS можно хоть с утра переустанавливать через WDS всякие.
Просто макось из системы для домохозяек дорастает до нормальной рабочей системы и ВНЕЗАПНО возникают те же проблемы, что когда-то были в виндовс и линукс и других, ныне мертвых системах.
А как все хорошо начиналось в рекламе: купил, радуешься, никаких синих экранов, красноглазия в консоли и обновлять железо можно раз в 7 лет.
Какие еще проблемы? Какое красноглазие и синие экраны?? homebrew — это совсем не часть системы.
У домохозяек проблем и нет, проблемы у разработчиков, использующих homebrew и другие хакерские и девелоперские тулзы, которые ещё не успели обновиться.

Убунту тоже не редко ломается при апдейте — то сеть отвалится, то звук, то вообще не грузится.
А если у мне кде в качестве wm и там не отваливалась переключалка раскалдки, что я делаю не так?)

А в макоси уже научились не ломать совместимость со старыми приложениями с каждым минорным апдейтом и запилили что-нить вроде UAC из винды?
проблемы у разработчиков, использующих homebrew и другие хакерские и девелоперские тулзы, которые ещё не успели обновиться

Хм, а я вот регулярно слышу, как мак рекомендуют как идеальную систему для разработчиков.
Значит врут?

P.S. Интересующийся линуксоид
«P.S.» означает «постскриптум», используется при письме на бумаге, для добавления текста после законченного и уже подписанного письма, так как изменить уже написанный на бумаге текст довольно сложно.
В вашем случае вы использовали «P.S.» дважды неправильно: во-первых, постскриптум ставится после подписи, а не подпись в постскриптуме, а во-вторых, текст комментария можно свободно редактировать до отправки и даже немножко после, а значит, необходимости в постскриптуме нет.
Спасибо за полезный комментарий
Каков вопрос, таков и ответ :)
обвился еще на Beta2 — никаких проблем не было. Стояло: zsh как основной шелл, iterm (iterm поломался частично), rvm, virtualenv_wrapper, vagrant, пакетов 20 из homebrew. Толи дело убунта где переключение раскладки слетело при минорном апдейте, а вижет для микшера начал падать каждые 5 минут.

Другое дело, что в OS X есть некоторые болячки которые затрагивают 3,5 человека и их фиксить не торопятся.
>А как все хорошо начиналось в рекламе: купил, радуешься, никаких синих экранов, красноглазия в консоли и обновлять железо можно раз в 7 лет.

Дык оно так и работает. Но если вы туда впихнули что-то с помощью гаечного ключа и отвертки — то это уже на совести разработчиков этого чего-то и вашей.
Ага, айфон не той рукой держу.
Я не знаю, что вас там с айфоном, но лично у меня (речь о макбуке) — всё как работало, так и работает.
Речь, как я понял, шла о том или ином софте/системах, которые не предоставляются поставщиком и установлены не из официального магазина приложений — за них и их работоспособностью поставщик заведомо ответственности не несет.

Если вы установили какую-то приблуду, которая требует админских прав и доступа к системным папкам, а потом, вдруг, «что-то пошло не так» — это ваши проблемы. Да даже без системных штук — взять тот же Steam под linux. Valve гарантирует его работоспособность под Ubuntu (причем в той поставка, в которой система идет сразу после установки и с теми версиями библиотек, что являются актуальными в репозитории канониклов). Всё. Если вы решили какие-то библиотеки обновить из сторонних репозиториев, а Steam потом отказывается работать — это уже не их проблемы.
Но, ведь, когда яблотроли на говно исходят, поливая винду помоями, за то что там «синие экраны и всетупит» всем плевать что это от проблем железом или кривых драйверов?
>от проблем железом или кривых драйверов

Правильно, и это задача MS решать эти проблемы, ибо в отличие от проблемы с прикладным ПО эти проблемы должны решаться между MS у условным ASUS.

Просто жизненный пример: я купил матери новый ноут-раскладушку (такая фиговина, у которой на крышке второй экран, и ноут можно использовать в качестве планшета). «Из коробки» всё работало нормально. При первом же обновлении — второй экран перестает работать, ровно как и еще ряд функционала (заметьте — обновление через Windows Update).
Выясняется — с обновленными драйверами (официальными, поставляющимися через win update!) тупо перестает работать второй экран.
И вот в этом вся винда — оно не работает стабильно, даже после обычного апдейта система может стать полностью неработоспособной.

Я не хочу сказать, что у дистрибутивов linux или macos такого нет в принципе — косяки бывают везде и у всех. Но первое это всё таки продукт скорее для технарей и энтузиастов/серверов с админами итп, а у второго это вообще исключение из правил. У винды это по сути одна из основных характеристик с начала времен, простите.
>Правильно, и это задача MS решать эти проблемы

Это кто сказал?
Проблемы индейцев шерифа не волнуют.
На нормальном железе винда, начиная с 2к/ХР работает железобетонно.

У меня была фиговая мать, от чего ХР тормозила при обращении к второму диску, но на линуксе тогда этой проблемы не было, собственно, я и перелез. Был школьником и хаял винду, но сейчас-то уже ума должно хватать не обвинять микрософт во вздувшихся конденсаторах в китайском блоке питания за 300 рублей?
>На нормальном железе

define «нормальном». Почему Asus Taichi 21 это ненормальное железо? Это MS его считают ненормальным? Тогда тот факт, что его якобы официально поддерживают вообще выглядит странным.

>ума должно хватать

Видимо таки не хватает, если вы сравниваете самосбор какой-то и коробочный продукт к которому заявлена поддержка производителя и MS как посредника при поставке драйверов (которые по идее проходят проверку).
>Почему Asus Taichi 21 это ненормальное железо?

Потому что не работает нормально. Очевидно же.

А то, что у тебя не было заводского брака, дефекта сборки итд итп, ты на 100% уверен? Или тоже микрософт виновата, что китаец шлейф не защелкнул?

>Видимо таки не хватает, если вы сравниваете самосбор какой-то и коробочный продукт к которому заявлена поддержка производителя и MS как посредника при поставке драйверов (которые по идее проходят проверку).

То есть по идее, все приложения из аппстор должны работать идеально, никогда не глючить, не тормозить и вылетать, иначе айфон говно, аппл говно, ВСЕ ПРОХОДИТ ОФИЦИАЛЬНУЮ ПРОВЕРКУ А ТОЛКУ НЕТ!!!!!1111адын

Ну смешно же.
>Потому что не работает нормально. Очевидно же.

Вы сами себе противоречите. Железо работает отлично _на старом_ драйвере. Стоит накатить официальное обновление от MS — всё, финиш. И это не проблема пользователя, а проблема Asus и MS. Именно их обоих, а не кого-то из них в отдельности. Кто там является конечным звеном в цепочке проблем — тоже дело десятое (для пользователя). Это может быть и сборщик китаец, и быдлокодер-индус (в конкретно моем примере — явно второе)

>То есть по идее, все приложения из аппстор должны работать идеально, никогда не глючить

Что вы за белка истеричка? Речь идет о работоспособности системы и да — приложение может глючить и тогда его не будут покупать, но приложение из апстора не имеет права нарушать работу системы — такое приложение туда просто не пропустят, а если и пропустят (факап apple), то это вызовет приличный скандал и тут же исправят.

У MS вышеназванные проблемы живут годами (конкретная с таичи — уже больше года точно)
>Что вы за белка истеричка?

Ужасный тролинг и ужасный переход на личности. Try harder %)

Перевожу на русский:
Если в Windows не работает что-то из-за стороннего софта: виноват MS, сторонний софт, производитель, дядя вася.
Если в iOS не работает что-то из-за стороннего софта: виноват сторонний софт, и вообще виноват конечный пользователь, нефиг своими кривыми руками ставить левый софт из аппстора, хотя нет это вообще «факап apple» что такой софт пролез в аппстор.

Ну смешно же (с).
Троллите тут только вы, уж простите. Истерия и капс тоже только у вас. Я вам привел совершенно очевидные и логичные доводы, которые вы почему-то пытаетесь подменить совершенно иными вещами. Продолжайте в том же духе.

PS: если вы не видите разницы между сторонним софтом, не влияющим на работу системы, и драйверами, которые должны проходить подтверждение на пригодность — то я даже не знаю.
Я не тролю, я просто говорю (с)
>Продолжайте в том же духе.
Ага, только я вспоминаю маки изначально как дурные по ТТХ и ценам профессиональные графические и звуковые станции для обработки всякой мультимедиа информации еще в эпоху до моего рождения.
А про маки для конечных пользователей заговорили совсем недавно.
Так что с «системами для домохозяек2 вы перегнули, извините.
Кстати, в App Store пришел апдейт Xcode 6.1.
Я воспользовался выходом Yosemite и осуществил давнюю задумку — сделал чистую установку, снеся кучу накопившегося хлама, и разнес рельсовые проекты по виртуалкам на Vagrant'e. Теперь мой внутренний педант счастлив — все зависимости проекта внутри контейнера, который поднимается одной командой, легко удаляется вместе со всем барахлом и не ломается при системных апдейтах.
Хотелось сделать все совсем красиво, с автоматизацией через Chef, но, убив полтора дня на курение его адовых мануалов, плюнул и сделал простой скриптик на Баше. И так неплохо получилось.
если и правда хотите сделать рецепты для виртуалки — попробуйте ansible. Он в разы проще.
Писал для рельсовых проектов и шеф-рецепты и анзиблевые скипты. Анзибль сильно проще.
Нет проблем с нехваткой ресурсов виртуалки для сборки ассетов в дев окружении?
Спасибо, обязательно посмотрю Ansible.

Насчет ресурсов точно не скажу, пока сильно не успел погонять проекты. Единственная проблема была с bundle install, не хватало памяти, решилось выделением 2гб на машину.
если у вас ссд — можете дать свопа
А еще в homebrew есть docker…
ага, через boot2docker который глючит
А какого плана глюки? Я тут присматриваюсь к такому решению, хотелось бы в общих чертах представлять чего ожидать.
ансибл вроде платный, или я чего-то не дочитал?
сервер ansible tower — платный после 5 или 10 нод, не помню точно. Сам анзибл бесплатный. Кроме того, он умеет работать вообще без сервера
Дополнительные сервисы платные, а так бесплатный, можно и через homebrew поставить, ну или взять на github.com/ansible/ansible
Делать brew upgrade опасно, например, постгрес может и не запуститься после обновления (9.2 -> 9.3).
Делать же в рельсовом проекте bundle update — это вообще суицид.
При апгрейде до йосемите установил xcode, исправил brew doctor и нашаманил папки для постгреса.
Больше никаких проблем не было: руби не переставлял, в пути не лазил (zsh-oh-my-zsh)
С bundle update это я погорячился, bundle install конечно же :)
Мой комментарий не содержит сарказма и стеба, я новичок в OS X и может ещё не обнаружил проблем после обновления.
Было установлено довольно много dev барахла со всеми зависимостями (PHP 5.5 с кучей модулей, Erlang, JDK, Scala, SBT, nginx, php-fpm, zsh, PostgreSQL ). Ставил исключительно из портов. После перехода на 10.10 попробовал воспользоваться портами, увидел сообщение, что нужно все переустановить и ссылка на мануал на macports.org. Да, сборка всех портов заняла около полутора часов, но работает идеально и пока проблем не заметил.
из описанного столкнулся только с проблемами с postgres.
brew doctor попросил только согласиться с условиями лицензии xcode. остальное — норм.

и, судя по всему, у меня остался старый terminal. такого окна с настройками у меня нет. или я что-то не так понимаю?
Возможно ещё во многом зависит от набора гемов и настроек системы, от возраста первоначальной установки операционки. Проблемы после апдейта возникли не только на моей домашней машине, но и на рабочих маках и у меня, и у моих коллег.

Терминал — iterm2
Установил свежую с флешки, теперь не могу сделать все по фэн-шую:
brew doctor

Пишет:
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry and just ignore them. Thanks!

Warning: The filesystem on / appears to be case-sensitive.
The default OS X filesystem is case-insensitive. Please report any apparent problems.


А RVM, если вводишь
rvm requirements

пытается поставить gcc48, хотя уже 4.9 стоит и прекрасно работает.
Пробовал все и вся до head обновить, все без толку.
Кто-нибудь нашел актуальное описание для установки и настройки с ноля?
Как пишет brew doctor, вы ошиблись с выбором типа файловой системы при форматировании, выбрали регистрозависимую, а лучше было бы регистроНЕзависимую. Намучаетесь с ней, например, Фотошоп раньше просто отказывался ставиться на case-sensitive. Возможно, лучше еще раз переставить систему, отформатировав диск в case-insensitive.

Насчет RVM не скажу, а вот rbenv завелся на Yosemite без проблем. Посмотрите в его сторону, многие считают это решение менее громоздим и хрупким, чем RVM.
Так как ставил OSX по дефолту — форматировалось все при установке, попробую переустановить. А как то шифрование, которое по умолчанию включено при установке может влиять на Хомбрю?

А что касается RVM vs rbenv — это кому как удобней, но наверно для облегчения своих страданий попробую и его, спс.
Еще MySql не автостартует. На сайте пока нет версии для Ёси.
mkdir /usr/local/var/postgres/{pg_tblspc,pg_twophase,pg_stat_tmp}
touch /usr/local/var/postgres/{pg_tblspc,pg_twophase,pg_stat_tmp}/.keep
А вы с какой версии обновляли-то? Потому что у меня на Mavericks уже был ruby 2.0, а не 1.8.
Ну и вообще, особенно если несколько проектов, лучше пользовать виртуалки, тот же вагрант, чтобы не захламлять основную систему. Плюс рабочее окружение максимально близкое к продакшену, а то я сталкивался со странным глюком при парсинге дат, когда на маке и линуксе результаты были разными, на одинаковой версии ruby, наверное, из-за разных системных библиотек.
К слову, у меня апдейт прошел совершенно безболезненно.
Обновлял с Mavericks, но вот когда последний раз до обновления делал brew update && brew upgrade уже не помню. Думаю, что несколько месяцев назад как минимум.
Увы, не подумавший обновить homebrew до апгрейда OSX наверняка оказался не я один.
Благодаря огромному количеству файлов в /usr/local необходимых Homebrew, процесс апгрейда до Yosemite занял у меня не менее 10-ти часов. Причем 8 из них на отметке «осталось» 3 минуты. Ребут во время процесса начинает все сначала.
У меня в /usr/local порядка 11.5К файлов. Апгрейд прошел примерно минут за 20, не считая времени на выкачивание собственно апгрейд-файлов.
люди, начинайте использовать vagrant. изолируйте все ваши зависимости в отдельные среды.
Какая-то, извините, полная ж… с этим вашим обновлением.

Я не маковод ни разу, хотя мак у меня есть, но этот процесс восстановления работоспособности всего, что работало до, все это курение мануалов, хаков и пляски с бубном… ради чего, спрашиваю я вас? Это вопрос и к вам, и к разработчикам новой версии. Риторический, конечно.

Но все же я пытаюсь понять. 2015 почти год, а жизнь как в дремучем средневековье. Мне все кажется, что все эти новые замечательные компьютеры и ОСи, и всякие там фреймворки и прочие плюшки делаются огромной армией разработчиков для того, чтобы сделать нашу жизнь проще, а оказывается, что совсем для другого. Понять бы, для чего.
Всегда после апдейтов OSX обновлял brew и rvm, естественно, заглядывая в инфу про обновления, много времени это не занимало (не считая само время апдейта системы). Если запустить пару комманд это «пляски с бубном», то я не знаю… Я лично готов это «стерпеть» за теплые ламповые Textmate, iTerm и Dash, которых нет в других системах.
После выхода Yosemite я сказал себе ХВАТИТ! Хватит настраивать окружение под macos каждый раз. И поставил себе Debian под виртуалкой. Замапил его по nfs — и счастлив.
Так жеж блин, не понимаю, чего все постоянно страдают так. Я уже много лет пользуюсь виртмашинами для разработки/отладки и всем советую. И всегда без проблем переношу виртмашины между виндой/макосью/линуксом. И это не говоря уже об остальных фишках, вроде возможности запускать и тестировать софт в разных окружениях и с разными версиями серверного софта.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории