GeddyJS是通过从项目的根目录运行geddy
来启动的。
我在启用调试的情况下让GeddyJS在node.js下运行时遇到了一些麻烦。
getty installs / usr / local / bin / geddy:
#!/usr/bin/env node ...
我快速复制了一份,并修改了shebang系列:
#!/usr/bin/env node --debug ...
但这不起作用,因为env找不到'node --debug'。
然后我尝试编写一个包装脚本作为shebang行中的解释器:
#!/bin/sh exec /usr/bin/env node --debug $@
这一次,节点在启用调试器的情况下启动,但路径必须搞砸,或者环境必须不同,因为我正在丢失模块异常:
$ geddy-debug debugger listening on port 5858 node.js:201 throw e; // process.nextTick error, or 'error' event on first tick ^ Error: Cannot find module '../lib/geddy' at Function._resolveFilename (module.js:332:11) at Function._load (module.js:279:25) at Module.require (module.js:354:17) at require (module.js:370:17) at Object. (/usr/local/bin/geddy-debug:4:1) at Module._compile (module.js:441:26) at Object..js (module.js:459:10) at Module.load (module.js:348:31) at Function._load (module.js:308:12) at Array.0 (module.js:479:10)
如果我不尝试启用调试,这当然可以正常工作。
我希望按照https://github.com/joyent/node/wiki/Using-Eclipse-as-Node-Applications-Debugger调试eclipse,这只适用于node --debug scriptname.js
任何建议都表示赞赏。
答案 0 :(得分:3)
回答我自己的问题,如果碰巧看到这个问题,其他人就可以受益:
从项目目录中,覆盖shebang行并直接调用解释器来运行geddy脚本:
/usr/bin/env node --debug /usr/local/bin/geddy
答案 1 :(得分:0)
有一个Debugging Geddy WikiPage有更多信息。