Node.JS:出现错误:[nodemon]内部监视失败:监视ENOSPC

2020/11/18 15:42 · javascript ·  · 0评论

我是第一次安装Node.jsUbuntu 14.04操作系统上。我也安装了npm我的安装过程的下一步是安装nodemon这一切都很好。


但是,当我在命令行nodemon输入内容运行时nodemon app.js,出现以下错误...

[nodemon] 1.8.1
[nodemon] to restart at any time, enter
rs
[nodemon] watching: *.*
[nodemon] starting
节点app.js
[nodemon] Internal watch failed: watch ENOSPC

在错误下方的命令行中...

alopex@Alopex:~/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

看来我的最大端口配置不正确。我运行了以下代码,它起作用了...

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

该命令的作用是增加单个用户允许的监视数量。默认情况下,该数字可以较低(例如,8192)。nodemon试图监视大量目录中的更改时,它必须创建多个监视,这些监视可以超过该限制。

您还可以通过以下方法解决此问题:

sudo sysctl fs.inotify.max_user_watches=582222 && sudo sysctl -p

但是,它的最初编写方式将使此更改永久生效。

在正在运行的节点服务器上显示以下错误和解决方案:

nodemon server.js

[nodemon] 1.17.2

[nodemon]随时重启,输入 rs

[nodemon]观看:

[nodemon]开始 node server.js

[nodemon]内部监视失败:监视/ home / aurum304 / jin ENOSPC

sudo pkill -f node

要么

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

Erik,您可以通过以下方法杀死所有其他节点进程

pkill -f节点

然后再次重新启动服务器。这样就可以了。

按照讨论过这里ENOSPC手段Error No more hard-disk space availablenodemongulp-nodemon(在我的情况下)之所以需要这么多内存的原因是,它正在监视它不应该查看的文件夹的内容。要修复该问题,nodemon的ignore设置可用于告诉nodemon不注意什么。这里查看nodemon示例配置

[nodemon] Internal watch failed: watch /home/Document/nmmExpressServer/bin ENOSPC
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! nmmexpressserver@0.0.0 start: `nodemon ./bin/www`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the nmmexpressserver@0.0.0 start script.

这是我在运行时遇到的错误nodemon ./bin/www

解决方案是关闭一个Atom窗口,该窗口在项目窗口中打开了整个文件夹目录。

我不知道为什么,但是我假设Atom和nodemon使用类似的过程来监视文件/文件夹。

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

这对我有用

试试这个....

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

会反抗

nodemon.json在您的根文件夹中添加一个配置文件,并指定忽略模式,例如:

nodemon.json

{
  "ignore": [
    "*.test.js", 
    "dist/*"
  ]
}
  • 注意,默认情况下.gitnode_modulesbower_components.nyc_outputcoverage.sass-cache被忽略,所以你并不需要将它们添加到您的配置做。

说明:发生此错误的原因是,您超出了系统允许的最大观察者数量(即nodemon,没有更多的磁盘空间来观察所有文件-这可能意味着您正在观察的不是重要文件)。因此,您会忽略不关心它们的更改的非重要文件,例如构建输出或测试用例。

在我的情况下,关闭Visual Studio代码,然后启动服务器就可以了

操作系统-Ubuntu 16.4 LTS

node.js版本-8.11.1

npm版本-6.0.0

除了指定要忽略的目录列表(例如,否定的)之外,您还可以指定要监视的目录列表(例如,肯定的):

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

在我的特定情况下,我有一个要查看的目录,约有九个我想忽略的目录,因此指定“ --watch”比指定“ --ignore”要简单得多。

我有同样的错误,但是在Windows 10的Ubuntu 14.04中(Windows的Ubuntu上的Bash)。我要克服的错误是更新Creators更新,然后允许我安装16.04版本的Ubuntu bash,然后在安装了最新版本的node(通过步骤)之后,我还安装了最新版本的npm和nodemon开始正常工作。

如果操作系统是Linux,则只需使用它即可

 sudo npm run server
本文地址:http://javascript.askforanswer.com/node-jschuxiancuowunodemonneibujianshishibaijianshienospc.html
文章标签: ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!