Linux 上的 Nodemon 安装警告

Posted

技术标签:

【中文标题】Linux 上的 Nodemon 安装警告【英文标题】:Nodemon install warning on Linux 【发布时间】:2017-06-25 05:18:56 【问题描述】:

我正在尝试在运行 Linux 的虚拟机上安装 nodemon,但收到了一些我无法解决的警告。

我在主目录中,正在运行命令:

npm install nodemon

这会尝试安装,但我在底部收到一些警告:

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.0.17: wanted "os":"darwin","arch":"any" (current: "os":"linux","arch":"x64")
npm WARN enoent ENOENT: no such file or directory, open '/home/lancs/shearer/package.json'
npm WARN shearer No description
npm WARN shearer No repository field.
npm WARN shearer No README data
npm WARN shearer No license field.

我假设这会导致安装终止,就像我尝试运行命令时一样:

nodemon -v

之后,我收到了找不到该命令的消息。

谁能帮我解决这个问题,我不确定在 linux 上安装 nodemon 的过程是否与我之前在 MacOS 上的不同。

谢谢。

【问题讨论】:

Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super User 或Unix & Linux Stack Exchange 会是一个更好的提问地方。另见Where do I post questions about Dev Ops? 【参考方案1】:

这里发生了两件事,实际上都不是错误:

    当您运行 npm install 时,NPM 将查找您模块的 package.json 文件。如果它找不到它,它会给你一些警告(特别是“无法打开文件”和“缺少字段”警告,就像你得到的那样)。警告不会中止安装,只有错误才会中止,并且安装可能已成功完成。

    您在本地安装了nodemon,这意味着您不能只运行nodemon 来启动它(因为它默认只查找全局安装的程序)。要全局安装,请运行 npm install -g nodemon,或使用 ./node_modules/.bin/nodemon 在本地运行它(如果您当前位于模块的根目录中)。

【讨论】:

感谢您的详细解释,帮助我了解本地安装和全局安装的区别。您答案的第二部分已经奏效,我现在可以看到版本了。非常感谢您的帮助。【参考方案2】:

我在linux上执行命令npm install -g nodemon,出现错误和一些警告,然后我执行sudo npm install -g nodemon,问题就解决了。

【讨论】:

【参考方案3】:

您是在全局安装吗?你可能想运行npm install -g nodemon

【讨论】:

我没有在全球范围内安装,我的问题现在已解决 - 感谢您的帮助。 没问题。根据经验,如果您在终端中运行它,请包含全局标记,但如果您需要它,请不要使用全局标记。有关更多信息,请参阅本文:nodejs.org/en/blog/npm/npm-1-0-global-vs-local-installation

以上是关于Linux 上的 Nodemon 安装警告的主要内容,如果未能解决你的问题,请参考以下文章

Mac 上的 Node.js Heroku 部署 - sh: 1: nodemon: not found / npm ERR! `nodemon fileName.js`/npm 错误!在...启动脚

无法安装 nodemon node.js

Node 工具 nodemon 详解

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

npm 无法在 Windows 10 中安装 pm2 或 nodemon

Node.js 第三方模块 nodemon(自动编译)使用