Компиляция node.js на Cygwin - PullRequest
3 голосов
/ 29 июля 2010

Я пытаюсь собрать файл node.js на моем компьютере с Windows XP (да, это болезненно, спасибо.), Используя Cygwin, следуя инструкциям Райана здесь .

Печально звонить "./ configure "из директории с исходным кодом узла выдает следующее:

$ ./configure
/home/LWE/sources/node.js/wscript: error: Traceback (most recent call last):
  File "/home/LWE/sources/node.js/tools/wafadmin/Utils.py", line 274, in load_module
    exec(compile(code, file_path, 'exec'), module.__dict__)
  File "/home/LWE/sources/node.js/wscript", line 12, in <module>
    import js2c
  File "/home/LWE/sources/node.js/tools/js2c.py", line 35, in <module>
    import jsmin
  File "/home/LWE/sources/node.js/tools/jsmin.py", line 1
    ../deps/v8/tools/jsmin.py
    ^
SyntaxError: invalid syntax

Я абсолютно не в Python, поэтому мне сложно разобраться с этим.Мне не хватает какой-то зависимости или как?

Я бы ожидал, что есть какой-то простой маленький переключатель конфигурации, который мне нужно включить, чтобы эта работа работала.Я просто не знаю, где / что / почему /...

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

PS: Это совершенно новая и современная установка Cygwin с Python 2.6.5.

Ответы [ 3 ]

3 голосов
/ 01 августа 2010

У меня также была проблема с получением nodejs для компиляции с использованием cygwin - также проблема с Python.В конце концов я нашел ссылку на необходимость перебазировать ссылки DLL Cygwin, чтобы все работало.Конечно, я не мог найти свой источник помощи.Но я вспомнил достаточно, чтобы найти подобную помощь.

Итак, из http://avalanche123.tumblr.com/post/855374337/nodejs-mongodb-tinyurl

я вспомнил, что вы можете остановить все процессы cygwin, запустить ash (минимальная оболочка), которая обычно находится в C:\ cygwin \ bin \ ash.exe и затем в этой оболочке запустите "/ usr / bin / rebaseall"

После того, как я выполнил команду rebaseall, я мог, используя обычную оболочку cygwin, успешно запустить.Сценарий / configure для источника nodejs и перейдите к «make» и «make install» nodejs.

1 голос
/ 03 декабря 2010

Это старый, но для тех, кто ссылается на эту страницу: jsmin.py является символической ссылкой.Если вы используете Git из msysGit в Cygwin, символические ссылки не будут созданы должным образом.Git-клиент, поставляемый с Cygwin, в большинстве случаев справляется с этим довольно прилично, однако время от времени это приводит к неприятностям.Если вы откроете jsmin.py в редакторе, вы увидите, что он фактически содержит путь к файлу, на который он должен ссылаться.Чтобы исправить это и перейти к компиляции:

# from the node.js source directory, run:
% cd tools
% ln -fs `cat jsmin.py`

Это заново создаст символическую ссылку, указывающую на правильное местоположение.Отсюда перезапустите ./configure и все готово.

Полный набор инструкций по сборке доступен на Github .

0 голосов
/ 26 января 2011

У меня не было проблем с использованием текущих инструкций Райана - пока я не попытался установить NPM, а затем не получил вывод. Если вы используете cygwin и устанавливаете node.js, обязательно используйте тег «works» при вводе файла вместо определенного номера версии. В противном случае не выводится / не работает npm.

Теперь, чтобы понять, как правильно настроить монго ...

...