你如何调试nodejs项目?
How do you debug nodejs projects?
在过去 16 个小时左右的时间里,我一直在尝试让 MEAN 堆栈项目在我的计算机上运行。
我从 Yeoman angular-fullstack project 开始。但这给了我各种各样的错误,所以我就放弃了。
然后我遵循了一些帮助我入门的教程,但没有涵盖我的大部分问题。
然后我发现 mean.io
提供了一个完整的样板 MEAN 堆栈项目,我按照说明进行了设置。不幸的是,当我尝试 运行 它时,我再次遇到各种错误:-(
最糟糕的是,它说 what/where 什么都没有导致错误。
有人可以帮我解决吗?拜托:-)
我遇到的最新错误是 运行 grunt
.
C:\Users\Imray\projects Practice\meanIO\meanApp>grunt
Running "hook" task
>> Starting hooked tasks.
Running "clean:0" (clean) task
>> 0 paths cleaned.
Running "jshint:all" (jshint) task
>> 42 files lint free.
Running "csslint:src" (csslint) task
>> 5 files lint free.
Running "concurrent:tasks" (concurrent) task
Running "watch" task
Waiting...
Running "nodemon:dev" (nodemon) task
[nodemon] v1.2.1
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node --debug server.js`
debugger listening on port 5858
events.js:72
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE
at errnoException (net.js:904:11)
at Server._listen2 (net.js:1042:14)
at listen (net.js:1064:10)
at Server.listen (net.js:1138:5)
at ExpressEngine.beginBootstrap (C:\Users\Imray\projects Practice\meanIO\meanApp\node_modules\meanio\lib\core_modules\server\E
xpressEngine.js:123:14)
at Meanio.serveWithDb (C:\Users\Imray\projects Practice\meanIO\meanApp\node_modules\meanio\lib\core_modules\server\index.js:14
:10)
at Consumer.Dependable.runAction (C:\Users\Imray\projects Practice\meanIO\meanApp\node_modules\meanio\node_modules\lazy-depend
able\index.js:72:22)
at Consumer.Dependable.fire (C:\Users\Imray\projects Practice\meanIO\meanApp\node_modules\meanio\node_modules\lazy-dependable\
index.js:69:53)
at Consumer.onResolved (C:\Users\Imray\projects Practice\meanIO\meanApp\node_modules\meanio\node_modules\lazy-dependable\index
.js:119:8)
at Consumer.Dependable.resolve (C:\Users\Imray\projects Practice\meanIO\meanApp\node_modules\meanio\node_modules\lazy-dependab
le\index.js:55:10)
[nodemon] app crashed - waiting for file changes before starting...
EADDRINUSE 是一个低级系统错误,这通常意味着您正在使用的端口号上有其他内容 运行。尝试使用不同的端口。
编辑:请注意,可能不仅仅是端口无效的实际服务器。看起来您的部署脚本创建了一个调试器,可能还创建了其他侦听各种端口的服务,因此可能需要更改它们。
根据您的输出,您有 Error: listen EADDRINUSE
。
这意味着您在此端口上已经有 运行 个进程。
尝试通过键入以下内容来调查哪个进程使用此端口:
sudo lsof -n -i4TCP:$PORT_NUMBER | grep LISTEN
终止该进程并重新启动您的应用程序。
如果您需要该过程,请更改您的应用程序端口。
重新启动计算机后问题消失了。不知道为什么,但我会接受的。
在过去 16 个小时左右的时间里,我一直在尝试让 MEAN 堆栈项目在我的计算机上运行。
我从 Yeoman angular-fullstack project 开始。但这给了我各种各样的错误,所以我就放弃了。
然后我遵循了一些帮助我入门的教程,但没有涵盖我的大部分问题。
然后我发现 mean.io
提供了一个完整的样板 MEAN 堆栈项目,我按照说明进行了设置。不幸的是,当我尝试 运行 它时,我再次遇到各种错误:-(
最糟糕的是,它说 what/where 什么都没有导致错误。
有人可以帮我解决吗?拜托:-)
我遇到的最新错误是 运行 grunt
.
C:\Users\Imray\projects Practice\meanIO\meanApp>grunt
Running "hook" task
>> Starting hooked tasks.
Running "clean:0" (clean) task
>> 0 paths cleaned.
Running "jshint:all" (jshint) task
>> 42 files lint free.
Running "csslint:src" (csslint) task
>> 5 files lint free.
Running "concurrent:tasks" (concurrent) task
Running "watch" task
Waiting...
Running "nodemon:dev" (nodemon) task
[nodemon] v1.2.1
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node --debug server.js`
debugger listening on port 5858
events.js:72
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE
at errnoException (net.js:904:11)
at Server._listen2 (net.js:1042:14)
at listen (net.js:1064:10)
at Server.listen (net.js:1138:5)
at ExpressEngine.beginBootstrap (C:\Users\Imray\projects Practice\meanIO\meanApp\node_modules\meanio\lib\core_modules\server\E
xpressEngine.js:123:14)
at Meanio.serveWithDb (C:\Users\Imray\projects Practice\meanIO\meanApp\node_modules\meanio\lib\core_modules\server\index.js:14
:10)
at Consumer.Dependable.runAction (C:\Users\Imray\projects Practice\meanIO\meanApp\node_modules\meanio\node_modules\lazy-depend
able\index.js:72:22)
at Consumer.Dependable.fire (C:\Users\Imray\projects Practice\meanIO\meanApp\node_modules\meanio\node_modules\lazy-dependable\
index.js:69:53)
at Consumer.onResolved (C:\Users\Imray\projects Practice\meanIO\meanApp\node_modules\meanio\node_modules\lazy-dependable\index
.js:119:8)
at Consumer.Dependable.resolve (C:\Users\Imray\projects Practice\meanIO\meanApp\node_modules\meanio\node_modules\lazy-dependab
le\index.js:55:10)
[nodemon] app crashed - waiting for file changes before starting...
EADDRINUSE 是一个低级系统错误,这通常意味着您正在使用的端口号上有其他内容 运行。尝试使用不同的端口。
编辑:请注意,可能不仅仅是端口无效的实际服务器。看起来您的部署脚本创建了一个调试器,可能还创建了其他侦听各种端口的服务,因此可能需要更改它们。
根据您的输出,您有 Error: listen EADDRINUSE
。
这意味着您在此端口上已经有 运行 个进程。
尝试通过键入以下内容来调查哪个进程使用此端口:
sudo lsof -n -i4TCP:$PORT_NUMBER | grep LISTEN
终止该进程并重新启动您的应用程序。
如果您需要该过程,请更改您的应用程序端口。
重新启动计算机后问题消失了。不知道为什么,但我会接受的。