安装node.js 出现错误?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安装node.js 出现错误?相关的知识,希望对你有一定的参考价值。
警告: An existing Chocolatey installation was detected. Installation will not continue.For security reasons, this script will not overwrite existing installations.Please use choco upgrade chocolatey to handle upgrades of Chocolatey itself.choco : 无法将“choco”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。所在位置 行:1 字符: 176+ ... .DownloadString('https://chocolatey.org/install.ps1')); choco upgrade ...+ ~~~~~ + CategoryInfo : ObjectNotFound: (choco:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundExceptionType ENTER to exit:
切换到 CMD. exe应该就可以了:
- 当前窗口输入 cmd 按enter键进入cmd. exe,然后再执行你的命令。打开真正的cmd. exe再执行你的命令。
主要原因是powerShell接管了默认终端,全部命令都走powerShell,种种原因吧,它总是会在某些情况下出错,一般切换到cmd. exe终端就解决了。
参考技术A 你的windows是32位还是64位?需要对应的node.js安装包.nodejs.org/download/里可以下载32位或64位的安。 参考技术B 检查一下版本和操作系统对应问题追问对应的windows10,。。。。
Node.JS:出现错误:[nodemon] 内部监视失败:监视 ENOSPC
【中文标题】Node.JS:出现错误:[nodemon] 内部监视失败:监视 ENOSPC【英文标题】:Node.JS: Getting error : [nodemon] Internal watch failed: watch ENOSPC 【发布时间】:2016-04-12 06:45:35 【问题描述】:我刚刚在我的Ubuntu 14.04
操作系统上第一次安装了Node.js
。我还安装了npm
。我安装过程的下一步是安装nodemon
。这一切都很好。
但是,当我通过在命令行中输入 nodemon app.js
来运行 nodemon
时,我收到以下错误...
[nodemon] 1.8.1
[nodemon] to restart at any time, enter
rs
[nodemon] watching: *.*
[nodemon] starting
node 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
【问题讨论】:
Grunt watch error - Waiting...Fatal error: watch ENOSPC的可能重复 【参考方案1】:看来我的最大端口配置不正确。我运行了以下代码,它工作了......
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
但它最初的编写方式将使这种变化永久化。
【讨论】:
有人能解释一下它的作用并详细说明它为什么会有所帮助吗? @Hinrich,这只是一个猜测,我认为 nodejs 通过 inotify 库监视文件系统的变化。我认为每个用户的最大观看次数有限制,此设置更改为更大的值。 @devrimbaris 正确! 从 Ubuntu 14.04 升级到 Ubuntu 16.04 后,我刚刚发生了这种情况。您的解决方案也对我有用。谢谢 如果你在 Arch 上,请把它放在/etc/sysctl.d/90-override.conf
上【参考方案2】:
根据here 的讨论,ENOSPC
表示Error No more hard-disk space available
。 nodemon
或 gulp-nodemon
(在我的情况下)需要这么多内存的原因是它正在查看不应该查看的文件夹的内容。为了解决这个问题,nodemon 有 ignore
设置,可以用来告诉 nodemon 什么不要看。查看 nodemon 示例配置 here。
【讨论】:
干得好,这是根本原因。 这就是我的原因。现场对 ENOSPC 的解释。谢谢。【参考方案3】:我遇到了同样的错误,但在 Windows 10 内的 Ubuntu 14.04 中(Windows 上的 Ubuntu 上的 Bash)。为了克服这个错误,我所做的只是更新 Creators 更新,然后我可以安装 16.04 版本的 Ubuntu bash,然后在安装最新版本的节点(通过this 步骤)之后,我还安装了最新版本的 npm,然后nodemon 开始正常工作。
【讨论】:
【参考方案4】:除了指定要忽略的目录列表(例如否定),您还可以指定要监视的目录列表(例如肯定):
nodemon --watch dir1 --watch dir2 dir1/examples/index.js
在我的特定情况下,我有一个想要查看的目录和大约九个想要忽略的目录,因此指定“--watch”比指定“--ignore”要简单得多
【讨论】:
谢谢,我的 nodemon 在 docker 容器中多次重启,并且需要很长时间才能重新加载服务器。为我的 src 文件夹添加了手表,速度快如闪电。【参考方案5】:在您的根文件夹中添加一个nodemon.json
配置文件并指定忽略模式,例如:
nodemon.json
"ignore": [
"*.test.js",
"dist/*"
]
请注意,默认情况下 .git
、node_modules
、bower_components
、.nyc_output
、coverage
和 .sass-cache
会被忽略,因此您无需将它们添加到您的配置中。
解释:发生此错误是因为您超出了系统允许的最大观察者数量(即nodemon
没有更多磁盘空间来观看所有文件 - 这可能意味着您正在观看不重要的文件)。因此,您会忽略不关心更改的非重要文件,例如构建输出或测试用例。
【讨论】:
【参考方案6】:[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 使用类似的进程来监视文件/文件夹。
【讨论】:
这正是我的问题。我很高兴从项目的安装目录中启动 atom。我关闭了 atom,从另一个目录启动它,问题就消失了。 在我的例子中,同样的情况也发生在 Ubuntu 的 Sublime 上。当我关闭 IDE 时,我可以正常运行它。有什么建议吗? 我没有尝试复制它以查看它是否已修复。 谢谢。关闭 Gitkraken 后,我的可以工作。这是一个奇怪的问题。所以这意味着我们不能让两个进程监视同一个文件夹? 这里是 Nextcloud 客户端 - 它使用了大量的 inotify 手表。谢谢大家!【参考方案7】:埃里克, 您可以通过
杀死所有其他节点进程pkill -f 节点
然后重新启动您的服务器。到时候就好了。
【讨论】:
投反对票,因为这也导致我的 Visual Studio Code 窗口冻结。 这就像一个魅力......直到现在!现在它无效,得到同样的错误。 如果你有多个使用节点运行的东西,这将导致它们全部停止。如果您同时运行客户端和服务器,这尤其麻烦。 这不是答案,这是评论【参考方案8】:在运行节点服务器上显示以下错误和解决方案:
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
【讨论】:
小心使用“sudo pkill -f node”命令。它强制杀死所有正在运行的节点应用程序。某些应用程序(例如 Atom、vscode)依赖于节点,因此此命令可能会使这些应用程序崩溃,您可能会失去工作。也不保证无论如何都有效。第二个更好。【参考方案9】:在我的情况下,关闭 Visual Studio 代码然后启动服务器就可以了
操作系统 - ubuntu 16.4 lts
node.js 版本 - 8.11.1
npm 版本 - 6.0.0
【讨论】:
他好像没有使用visual studio。 虽然这并不能直接回答问题(因为问题不涉及VS Code),但这确实解决了我的问题。 谢谢,很简单,它解决了我的问题:)【参考方案10】:试试这个....
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
【讨论】:
我喜欢这种反抗的叛逆本性【参考方案11】:如果操作系统是Linux,那么只要使用它就可以工作
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
【讨论】:
我也遇到过同样的问题。我听从了你的意见。它现在工作。谢谢。【参考方案12】:echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
这对我有用
【讨论】:
请添加解释如何回答这个问题。 正常工作【参考方案13】:尝试使用您的 app.js 所在的更多特定目录重新打开 VS 代码或 Atom。 我打开了很多文件夹,出现了这个问题。但是一旦我打开我的特定文件夹并再次尝试,它就起作用了。
【讨论】:
【参考方案14】:一定有比我建议的更好的方法来解决这个问题。我希望一些专家登陆这个页面。另请注意,我正在开发服务器上工作,因此有能力杀死节点的所有进程。这可能不是您想要的。
我按照@zubair-alam 的回答第一次把它修好了。我在 package.json 中添加了“忽略”(即使引用的链接说它是默认值)。
........ Before
"ignore": [
".git",
"node_modules/**/node_modules"
],
"scripts":
"test": "echo \"Error: no test specified\" && exit 1",
"start": "nodemon ./index.js --exec babel-node -e js"
,
........ After
但是,一旦我将新文件添加到文件夹中,错误就会再次返回。我在 Linux 上工作,所以我基本上杀死了所有与节点相关的进程,通过说以下内容。
killall node
然后通过说重新启动npm。服务器启动时没有错误。
npm start
您必须使用特定于您的操作系统的命令来更改 killall 命令。请参阅this 讨论。
【讨论】:
以上是关于安装node.js 出现错误?的主要内容,如果未能解决你的问题,请参考以下文章
Node.JS:出现错误:[nodemon] 内部监视失败:监视 ENOSPC
为啥全新安装 node.js 和量角器会出现 `execvp` 错误没有这样的文件或目录?