2015-02-06 131 views
1

在過去的16個小時左右,我一直在試圖在我的電腦上運行MEAN堆棧項目。如何調試nodejs項目?

我開始與Yeoman angular-fullstack project。但是那給了我各種各樣的錯誤,所以我就放棄了。

然後我跟着一些幫助我開始的教程,但沒有涵蓋我的問題。

然後我發現mean.io它提供了一個完整的樣板MEAN堆棧項目,我按照說明進行設置。不幸的是,當我嘗試運行它,我又得到各種錯誤:-(

的是最糟糕的,它說什麼/何原因造成的錯誤NOTHING。

誰能幫我想出來了嗎?請:-)

我得到的最新錯誤是當我運行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... 

回答

0

重新啓動計算機後問題就消失了。不知道爲什麼,但我會接受。

0

EADDRINUSE是一個低級別的系統錯誤,通常意味着您正在使用的端口號上還有別的東西在運行。嘗試使用不同的端口。

編輯:請注意,它可能不只是實際的服務器端口是無效的。它看起來像你的部署腳本創建了一個調試器,可能還有其他服務在不同的端口上偵聽,所以它們可能需要改變。

+0

而不是使用'grunt'作爲'mean.io'文檔指示,我使用'npm start',現在我得到'錯誤:寫入EINVAL - 無法寫入IPC通道。這太令人沮喪 – CodyBugstein 2015-02-06 14:28:52

+0

發佈你應該使用的gruntfile和grunt命令。 – 2015-02-06 14:35:05

+0

[docs](http://learn.mean.io/)聲稱只使用'grunt',gruntfile位於[Mean.io Github回購](https://github.com/linnovate/mean/)上blob/master/Gruntfile.js) – CodyBugstein 2015-02-06 14:37:01

2

根據你的輸出結果你有Error: listen EADDRINUSE。 這意味着您已經在此端口上運行進程。

嘗試通過鍵入調查哪些進程使用這個端口:

sudo lsof -n -i4TCP:$PORT_NUMBER | grep LISTEN 

殺死該進程,並重新啓動應用程序。
如果您需要該過程,請更改您的應用程序端口。

+0

我在Windows上,所以我使用'resmon'來查看'5858'是否被使用,它不是 – CodyBugstein 2015-02-06 14:32:13