2016-01-07 24 views
47

我剛剛在我的Ubuntu 14.04操作系統上首次安裝了Node.js。我也安裝了npm。我的安裝過程中的下一步是安裝nodemon。這一切都很好。Node.JS:出錯:[nodemon]內部手錶失敗:手錶ENOSPC


但是,當我在我的命令行,我收到以下錯誤鍵入nodemon app.js運行nodemon ...

[nodemon] 1.8.1 [nodemon] to restart at any time, enter RS [nodemon] watching: *.* [nodemon] starting節點app.js [nodemon] Internal watch failed: watch ENOSPC

在下面的錯誤命令行中...

[email protected]:~/Desktop/coding_dojo/week-9/javascript/node/testing_node$ Hello World 

這是怎麼發生的?這是nodemon的正常行爲嗎?如果不是,我該如何解決?


旁註...

1)app.js是一個Javascript文件,console.log(111)它裏面。
2)node版本v0.10.25
3)npm版本1.3.10
4)nodemon版本1.8.1
5)ubuntu版本是...

Distributor ID: Ubuntu 
Description: Ubuntu 14.04.3 LTS 
Release: 14.04 
Codename: trusty 
+0

[Grunt watch error - Waiting ...致命錯誤:觀看ENOSPC]的可能重複(http://stackoverflow.com/questions/16748737/grunt-watch-error-waiting-fatal-error-watch-enospc) –

回答

149

看來,我的最大端口間沒有」配置正確。我跑到下面的代碼和它的工作...

echo fs.inotify.max_user_watches=582222 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p 
+3

有人能解釋一下這件事情的具體情況,並闡述它爲什麼可以提供幫助? – Hinrich

+8

@Hinrich,這只是一個猜測,我認爲nodejs通過inotify庫監視文件系統更改。我認爲每個用戶對手錶的最大數量都有限制,該設置會變爲更大的值。 –

+2

@devrimbaris正確! –

10

按照討論過hereENOSPC意味着Error No more hard-disk space available。爲什麼nodemongulp-nodemon(在我的情況下)需要的內存太多的原因是它正在觀看它不應該在文件夾中的內容。修復nodemon有ignore設置可以用來告訴nodemon什麼不看。看看nodemon示例配置here

+0

幹得好,這是根本原因。 – lutaoact

0

我有同樣的錯誤,但在Windows 10中的Ubuntu 14.04(Windows上的Ubuntu上的Bash)。我爲克服這個錯誤所做的一切是更新Creators更新,然後允許我安裝16.04版本的Ubuntu bash,然後安裝最新版本的節點(通過this步驟),我還安裝了最新版本的npm,然後安裝了nodemon開始正常工作。

-2

它的工作對我來說

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p 
+2

直接複製所接受答案的粘貼,並將其更改爲最大用戶手錶 – lukejkw

0

除了指定目錄列表忽略(例如負),你也可以指定目錄列表來觀看(如摹正面):

nodemon --watch dir1 --watch dir2 dir1/examples/index.js 

在我的具體情況,我有一個目錄,我想觀看和大約九我想忽略,因此指定「--watch」比指定「 - 忽略」

簡單得多