Ошибка NODE_PATH в файле node.js при попытке установить jsctags для vim - PullRequest
2 голосов
/ 05 декабря 2011

Я пытаюсь настроить doctorjs на моей машине с Windows, чтобы работать с тэгбаром vim, но я думаю, что это может быть вопросом node.js больше всего на свете. Я следую этому учебнику . Даже после того, как я установил свой NODE_PATH, я все еще получаю ошибку, утверждая, что это должно быть установлено. Что может быть не так?

Вот лог терминала на моей машине win7:

C:\Windows\system32>set NODE_PATH=C:\Users\JG\Desktop\new\doctorjs\lib\jsctags

C:\Windows\system32>node.exe C:\Users\JG\Desktop\new\doctorjs\bin\jsctags.js -h
'node.exe' is not recognized as an internal or external command,
operable program or batch file.

C:\Windows\system32>cd c:\Users\JG\Desktop\new\doctorjs

c:\Users\JG\Desktop\new\doctorjs>node.exe C:\Users\JG\Desktop\new\doctorjs\bin\j
sctags.js -h

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: require.paths is removed. Use node_modules folders, or the NODE_PATH envi
ronment variable instead.
    at Function.<anonymous> (module.js:376:11)
    at Object.<anonymous> (C:\Users\JG\Desktop\new\doctorjs\bin\jsctags.js:41:8)

    at Module._compile (module.js:432:26)
    at Object..js (module.js:450:10)
    at Module.load (module.js:351:31)
    at Function._load (module.js:310:12)
    at Array.0 (module.js:470:10)
    at EventEmitter._tickCallback (node.js:192:40)

c:\Users\JG\Desktop\new\doctorjs>

1 Ответ

3 голосов
/ 05 декабря 2011

В node.js 0.6.x require.paths удалено. Он устарел с 0.2.x, если я помню. Таким образом, проблема не в отсутствии переменной среды NODE_PATH, а в том, что запущенный вами пакет / приложение несовместимо с узлом 0.6.x. Нормальным решением было бы запустить это приложение в node.js 0.4.12. К сожалению, для Windows нет поддерживаемой версии 0.4.x. Лучше всего переписать приложение, чтобы require.paths больше не использовалось.

Более того: Не запускайте приложение, как node.exe C:\Full\Path\Folder, потому что рабочий каталог будет C:\. Поэтому сделайте что-то вроде:

C:\Full\Path\Folder> C:\node.js\bin\node.exe Folder.
...