【问题标题】:Angular 2 quickstart ENOSPC errorAngular 2 快速入门 ENOSPC 错误
【发布时间】:2023-03-15 03:45:01
【问题描述】:

我正在试用官方5 Min Quickstart 关于 Typescript 的 angular 2。我按照所有步骤操作,当我运行 npm start 时,它确实在我的 Firefox 浏览器上弹出了预期的 My First Angular 2 App 消息。

但是,当我检查控制台时,我发现了错误消息:

Error: watch node_modules/angular2/es6/dev/src/common/directives/ng_if.js ENOSPC

不知道是不是和我之前在项目根文件夹运行npm install时收到的警告信息有关:

npm WARN install Couldn't install optional dependency: Unsupported
npm WARN EPACKAGEJSON angular2-quickstart@1.0.0 No description
npm WARN EPACKAGEJSON angular2-quickstart@1.0.0 No repository field.

有人可以告诉我我的方法有什么问题吗?更详细的控制台输出如下所示:

> angular2-quickstart@1.0.0 start /home/ubuntu/jsProjects/angular2-quickstart
> concurrent "npm run tsc:w" "npm run lite" 

[0] 
[0] > angular2-quickstart@1.0.0 tsc:w /home/ubuntu/jsProjects/angular2-quickstart
[0] > tsc -w
[0] 
[1] 
[1] > angular2-quickstart@1.0.0 lite /home/ubuntu/jsProjects/angular2-quickstart
[1] > lite-server
[1] 
[1] [BS] Access URLs:
[1]  ----------------------------------
[1]        Local: http://localhost:3000
[1]     External: http://10.0.0.17:3000
[1]  ----------------------------------
[1]           UI: http://localhost:3001
[1]  UI External: http://10.0.0.17:3001
[1]  ----------------------------------
[1] [BS] Serving files from: ./
[1] [BS] Watching files...
[1] 15.12.19 08:14:48 304 GET /./index.html (Unknown - 59ms)
[1] 15.12.19 08:14:49 304 GET /node_modules/es6-shim/es6-shim.js (Unknown - 729ms)
[1] 15.12.19 08:14:49 304 GET /node_modules/angular2/bundles/angular2-polyfills.js (Unknown - 205ms)
[1] 15.12.19 08:14:49 304 GET /node_modules/systemjs/dist/system.src.js (Unknown - 204ms)
[1] 15.12.19 08:14:49 304 GET /node_modules/rxjs/bundles/Rx.js (Unknown - 204ms)
[1] 15.12.19 08:14:49 304 GET /node_modules/angular2/bundles/angular2.dev.js (Unknown - 204ms)
[0] 8:14:50 AM - Compilation complete. Watching for file changes.
[1] [BS] File changed: app/app.component.js
[1] [BS] File changed: app/boot.js
[1] 15.12.19 08:14:51 200 GET /app/boot.js (Unknown - 92ms)
[1] 15.12.19 08:14:52 200 GET /app/app.component.js (Unknown - 29ms)
[1] events.js:141
[1]       throw er; // Unhandled 'error' event
[1]       ^
[1] 
[1] Error: watch node_modules/angular2/es6/dev/src/common/directives/ng_if.js ENOSPC
[1]     at exports._errnoException (util.js:855:11)
[1]     at FSWatcher.start (fs.js:1313:19)
[1]     at Object.fs.watch (fs.js:1341:11)
[1]     at createFsWatchInstance (/home/ubuntu/jsProjects/angular2-quickstart/node_modules/chokidar/lib/nodefs-handler.js:37:15)
[1]     at setFsWatchListener (/home/ubuntu/jsProjects/angular2-quickstart/node_modules/chokidar/lib/nodefs-handler.js:80:15)
[1]     at FSWatcher.NodeFsHandler._watchWithNodeFs (/home/ubuntu/jsProjects/angular2-quickstart/node_modules/chokidar/lib/nodefs-handler.js:228:14)
[1]     at FSWatcher.NodeFsHandler._handleFile (/home/ubuntu/jsProjects/angular2-quickstart/node_modules/chokidar/lib/nodefs-handler.js:255:21)
[1]     at FSWatcher.<anonymous> (/home/ubuntu/jsProjects/angular2-quickstart/node_modules/chokidar/lib/nodefs-handler.js:473:21)
[1]     at FSReqWrap.oncomplete (fs.js:82:15)
[1] 
[1] npm ERR! Linux 3.19.0-41-generic
[1] npm 
[1] ERR! argv "/opt/node-v5.3.0-linux-x64/bin/node" "/opt/node-v5.3.0-linux-x64/bin/npm" "run" "lite"
[1] npm ERR! node v5.3.0
[1] npm ERR! npm  v3.3.12
[1] npm ERR! code ELIFECYCLE
[1] npm ERR! angular2-quickstart@1.0.0 lite: `lite-server`
[1] npm ERR! Exit status 1
[1] npm ERR! 
[1] npm ERR! Failed at the angular2-quickstart@1.0.0 lite script 'lite-server'.
[1] npm ERR! Make sure you have the latest version of node.js and npm installed.
[1] npm ERR! If you do, this is most likely a problem with the angular2-quickstart package,
[1] npm ERR! not with npm itself.
[1] npm ERR!
[1]  Tell the author that this fails on your system:
[1] npm ERR!     lite-server
[1] npm ERR! You can get their info via:
[1] npm ERR!     npm owner ls angular2-quickstart
[1] npm ERR! There is likely additional logging output above.
[1] 
[1] npm ERR! Please include the following file with any support request:
[1] npm ERR!     /home/ubuntu/jsProjects/angular2-quickstart/npm-debug.log
[1] npm run lite exited with code 1

【问题讨论】:

标签: javascript node.js angular


【解决方案1】:

我通过增加 inotify 观察者的数量解决了这个问题:

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

【讨论】:

  • 这绝对解决了在angular 2教程(angular.io/docs/ts/latest/quickstart.html)上运行npm startENOSPC的问题,谢谢Tomek的分享!
  • 为什么会有这么多依赖? node_modules 文件夹中有 374 个目录,用于一个简单的 'hello world' 项目,看起来粗俗过度。
【解决方案2】:

此错误也可能发生在其他进程中(例如,更现代的ng serve)。

虽然如果您不信任代码应该避免这种情况,但使用sudo 运行命令将很快修复此错误。

【讨论】:

  • 由于可以通过 npm 依赖项运行的源代码来源几乎无限的多样性,因此将 sudo 授予此类有风险的命令是很明智的。
猜你喜欢
  • 2018-02-14
  • 2017-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-11
  • 2017-05-23
  • 2016-07-02
  • 1970-01-01
相关资源
最近更新 更多