2
我想在我的Windows機器上設置doctorjs,以使用vim的tagbar,但我認爲這可能是一個比任何其他事情都更加出色的node.js問題。我正在關注this tutorial。即使在設置了NODE_PATH後,我仍然得到一個錯誤,聲稱它需要設置。可能會出現什麼問題?Node.js嘗試爲vim設置jsctags時出現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>
嘿揚,謝謝你的回覆。當你說重寫應用程序時,你的意思是我打電話的ctags應用程序?我認爲所有的路徑代碼出現在文件的頂部(參見[這段代碼](http://pastebin.com/Bihyd6bV))。但我有點不清楚如何改變這個代碼,所以應用程序仍然可以工作。你能提供一些建議嗎? – Jonah
您將不得不將路徑更改爲相對路徑。所以如果'underscore'在文件夾'lib/underscore'中,你的require應該看起來像'require(「./ lib/underscore」)'。或者,您應該將所有依賴關係移至'node_modules'文件夾。然後你應該刪除'require.paths.unshift'行。 –
手動編輯require()調用被嵌套的require()調用太困難了,所以我試圖將所有依賴關係移動到node_modules。我做了完整的nodejs msi安裝,並嘗試將jsctags lib文件夾放在「C:\ Program Files文件(x86)\ nodejs \ node_modules \」以及「C:\ Program Files文件(x86)\ nodejs \ node_modules \ npm \ node_modules「,但它仍未檢測到包含。我還需要做什麼? – Jonah