Эта статья предназначена для тех, кого бесят мильён левых служб и драйверов, которые ставят любые виртуалки. Тем, кто будут ставить доп. пакеты Node.js
Все остальные могут скачать скомпилированный Node.js node-js.prcn.co.cc
Или же установить Node.js из-под виртуалки nodejs.ru/25
Прошу под кат
Совсем без виртуалок, конечно, не обойдется попутно нам придется поставить Cygwin. Который лишен левых windows-служб, что меня неимоверно порадовало.
Качаем Cygwin setup.exe — 670 Кб cygwin.com/setup.exe
Установка Cygwin
Запускаем, предложит выбрать путь установки, лучше ставить в c:\cygwin\
Далее предложит выбрать путь куда будут заливаться пакеты, мой выбор пал на c:\cygwin\p\
Далее предложит выбрать зеркало, откуда будет качать пакеты — я выбрал ftp.linux.kiev.ua — скорость отдачи очень радует
Теперь нам нужно установить необходимые для установки и работы Node.js пакеты
Dev — ставим все или только пакеты ниже
— gcc g++ C++ compiler
— gcc mingw-g++
— gcc4-4++ G++ subpackage
— git
— make
— openssl
— pkg-config
— zlib-devel
Python – ставим все
Web
— wget
Окно выбора пакетов примерно такое:
Установщик соберет зависимости и установит все минут за 5 при отдаче в 8 Мбит/сек
Патчим rebaseall
Открываем файл C:\сygwin\bin\rebaseall не виндузовым блокнотом
Если имя пользователя не латинское (прим. Администратор), то находим
TmpDir="${TMP:-${TEMP:-/tmp}}"
Заменяем на
TmpDir="/tmp"
Если работаем под 7й виндой, то находим
sed -e '/cygwin1\.dll$/d' -e '/cyglsa.*\.dll$/d' -e 's/^/\//' >"$TmpFile"
Заменяем на
sed -e '/cygwin1\.dll$/d' -e '/cyglsa.*\.dll$/d' -e 's/^/\//' -e '/\/sys-root\/mingw\/bin/d' >"$TmpFile"
Больше ничего патчить не нужно
Патчим библиотеки
Закрываем Cygwin если открыли
Запускаем командную строку windows
в ней вбиваем C:\сygwin\bin\ash.exe
Вбиваем руками ./rebaseall –v
В результате мы увидим что-то такое:
/usr/lib/dde1.2/tcldde12.dll: new base = 69050000, new size = 20000
... пропущена тыщастрок ...
/usr/lib/reg1.1/tclreg11.dll: new base = 69030000, new size = 20000
/usr/bin/cygz.dll: new base = 69000000, new size = 30000
Закрываем виндузовую командную строку
Запускаем Cygwin
Запускаем Cygwin при первом запуске он создаст каталог для текущего пользователя windows в своей среде
у меня c:\cygwin\home\Администратор\
Ставим Node.js
Качаем последнюю стабильную версию и устанавливаем
$ wget http://nodejs.org/dist/node-latest.tar.gz
$ tar xvf node-latest.tar.gz
$ cd node-v0.2.4/
$ ./configure
$ make
$ make install
Если ругается на openssl
./configure --without-ssl
Пробуем запустить Node.js
$ node --version
v0.2.4
Создаем тестовое приложение для Node.js
Создаем файл c:\cygwin\home\Администратор\www\server.js
var http = require('http');
http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/html'});
response.end('<b>Hello World from Cygwin</b>');
}).listen(8124);
console.log('Server running at http://127.0.0.1:8124/');
Запускаем наш сервер
$ node /home/Администратор/www/server.js
Тут может заругаться фаерволл windows — разрешаем все, что спросит
Открываем 127.0.0.1:8124
Если вы увидели Hello World from Cygwin значит у вас все получилось, поздравляю.
Прочие фиксы
Для того, чтобы Node.js мог работать с внешними DNS, нужно создать файл
/etc/resolv.conf
и прописать в негоnameserver 8.8.8.8
nameserver 8.8.4.4
Это адреса Google Public DNS
По мотивам
codebetter.com/blogs/matthew.podwysocki/archive/2010/09/07/getting-started-with-node-js-on-windows.aspx
blog.brev.name/2010/09/nodejs-on-windows-7-under-cygwin.html