我是第一次安装Node.js
在Ubuntu 14.04
操作系统上。我也安装了npm
。我的安装过程的下一步是安装nodemon
。这一切都很好。
但是,当我在命令行nodemon
输入内容运行时nodemon app.js
,出现以下错误...
[nodemon] 1.8.1
rs
[nodemon] to restart at any time, enter
节点app.js
[nodemon] watching: *.*
[nodemon] starting
[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 available
。nodemon
或gulp-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/*"
]
}
- 注意,默认情况下
.git
,node_modules
,bower_components
,.nyc_output
,coverage
和.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
文章标签:javascript , node.js
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!
评论已关闭!