Tuesday, June 12, 2012

archlinux & node-gyp

Я тут решил посмотреть, что зто за node.js такой, о котором все столько говорят.
Начал с просмотра курса в codeschool и, доложу я вам, мне так понравилось, что я даже обмазался соответствующим статьями на хабре.
Там оказалось несоклько примеров достаточно сложных проектов, реализованных на node, ну и в целом, было интересно почитать отзывы, которые заинтриговали еще больше.





Так же, очень обрадовало наличие бесплатных хостингов для node с удобным деплоем. Я зарегистрировался на нескольких, но из их числа приступить к деплою непосредственно после регистрации, можно было только на nodejitsu.com, что я и сделал. Очень понравилось, как оформлен сайт - в меру минималистично, но всё что меня на тот момент интересовало, было на виду. Опробовал описанный в доке способ деплоя, на примере простого приложения - всё заработало быстро и без проблем.

Но, после Джанги что-то делать на "голом" ноде не хотелось, и я решил посмотреть какие есть фреймворки для этого всего. Прочитав несколько статей на эту тему, пришел к однозначному выводу, что самый распространенный из них на данный момент - Express. Посмотрел несколько скринкастов на сайте - опять же, после вещей уровня Django, не покидало ощущение что чего-то не хватает.

Поэтому возникло желание посмотреть какие-нибудь готовые проекты, реализующие базовую функциональность, например - работу с пользователями. После непродолжительного гугления, на глаза попался свежий тутор, с выложенными сорцами. Но вот это-то приложение запустить так просто не удалось. Сразу же возникли проблемы с MongoDB, но они были решены более внимательным курением мана.

А вот с чем возникла серьезная неприятность, так это с установкой зависимостей. Вообще, в node это реализовано достаточно хорошо, и тоже было приятным открытием.. Но один из пакетов, требующихся тутору (помоему, emailjs) потянул за собой node-gyp, который, в свою очередь во время установки требовал взаимодействия с системным питоном. А в арче, вот уже достаточно продолжительное время, в отличии от большинства дистрибутивов, системным является python3.
В общем, пришлось повозится.
Наверное, я решил эту проблему не самым красивым образом, но мне показалось что это достаточно быстро и просто.
Перед тем, как в очередной раз попытаться установить зависимости, я поменял симлинк python с python3 на python2:
    $ sudo ln -s /usr/bin/python2 /usr/bin/python
Быстренько установил их, и вернул всё обратно.
Но вообще-то, надо бы погуглить как  православно делать это всё. Наверняка еще придётся столкнуться с подобными проблемами..

No comments:

Post a Comment