节点 Nodemon 错误:找不到模块 'C:\Program Files\Git\node_modules\nodemon\bin\nodemon.js'

Posted

技术标签:

【中文标题】节点 Nodemon 错误:找不到模块 \'C:\\Program Files\\Git\\node_modules\\nodemon\\bin\\nodemon.js\'【英文标题】:Node Nodemon Error: Cannot find module 'C:\Program Files\Git\node_modules\nodemon\bin\nodemon.js'节点 Nodemon 错误:找不到模块 'C:\Program Files\Git\node_modules\nodemon\bin\nodemon.js' 【发布时间】:2018-09-08 13:58:54 【问题描述】: 我是 NodeJS 方面的初学者。 环境为 Windows 7 64 位。 节点已安装并正在运行。 NPM 也运行良好。 Nodemon 已安装。 (在应用内和全球范围内)

现在当我运行命令时:

“nodemon server.js”或只是“nodemon”

它给出了以下错误:

module.js:549
    throw err;
    ^

Error: Cannot find module 'C:\Program Files\Git\node_modules\nodemon\bin\nodemon.js'
    at Function.Module._resolveFilename (module.js:547:15)
    at Function.Module._load (module.js:474:25)
    at Function.Module.runMain (module.js:693:10)
    at startup (bootstrap_node.js:188:16)
    at bootstrap_node.js:609:3
我不明白这是什么意思?为什么它会在 Git 文件夹中查找? 它与环境变量有什么关系吗?但是 Node 和 NPM 都运行良好。 有什么想法/建议/解决方案吗?

以下是我的“server.js”文件,以供您参考。

var express = require("express");
var bodyParser = require("body-parser");
var morgan = require("morgan");
var path = require("path");

var app = express();
app.use(bodyParser.urlencoded(extended: true));
app.use(bodyParser.json());

app.use(function (req, es, next) 
    res.setHeader("Access-Control-Allow-Origin", "*");
    res.setHeader("Access-Control-Allow-Methods", "GET, POST");
    res.setHeader("Access-Control-Allow-Headers", "X-Requested-With, content-type, Authorization");
    next();
);

app.use(morgan("dev"));
app.use(express.static(__dirname + "/app"));
app.get("*", function (req, res) 
    res.sendFile(path.join(__dirname + "/index.html"));
);

app.listen(8080);
console.log(">>>>> App is Running <<<<<");

【问题讨论】:

你安装了nodemon吗?我建议您不要全局安装它。使用命令 npm install --save nodemon。然后转到你的 package.json,将这一行放在你的脚本“server”中:“nodemon server.js”。最后,npm run server 运行你的应用 编写一个仅包含 console.log("hello") 的 Nodejs 脚本并使用 nodemon 运行它(没有其他包含,没有逻辑),看看会发生什么 大家好。我什么都试过了。本地安装,全局安装,仅使用“console.log()”运行应用程序。甚至更改“package.json”文件。但无论如何,当我使用 nodemon 运行任何命令时,它都会给出相同的错误。 我在 package.json 的脚本部分插入了行“start”:“nodemon server.js”。现在,当我运行命令“npm start”时,它正在工作。这类似于@dnp1204 的建议。我不知道当前配置有什么问题,但这有效。感谢你们所有人试图帮助我。赞赏。 看来,这是 MINGW64 的问题。如果我使用 Windows CMD 运行命令,一切正常。希望这可能对某人有所帮助。 【参考方案1】:

删除项目中的 node_modules 并重新安装 nodemon 模块,运行以下命令;

rm -rf node_modules
npm install -g npm@latest
npm i nodemon 

【讨论】:

【参考方案2】:

您必须验证服务器名称 (servers.js) 在文件夹中的名称是否相同,( package.json ) 验证您不应创建的 ma​​instart nodemon 的文件夹。

【讨论】:

【参考方案3】:

确保你正在运行的 server.js 位于根目录中,并在项目的根目录中运行此命令

nodemon ./server.js

您也可以将 server.js 重命名为 index.js 并运行

nodemon

关于 nodemon 的更多信息: https://www.npmjs.com/package/nodemon

【讨论】:

您也可以使用process.chdir(__dirname);在脚本中设置您当前的工作目录,请确保将其放在最顶部。【参考方案4】:

使用命令:npm run server 而不是 nodemon server.js,您将得到缺少哪个模块的确切错误。

【讨论】:

【参考方案5】:

我认为这是一个典型的路径问题。您需要修复环境变量 PATH 才能使 npm 正确执行。

您需要添加的路径如下:C:\Program Files\nodejs\node_modules\npm\bin

找到 PATH 环境变量并添加您希望安装 npm 包的路径!

或者您可以导航到该目录并执行:npm config set prefix

【讨论】:

【参考方案6】:

在我的情况下,我通过提到的方法解决了同样的问题,希望它会 在脚本标记中的 package.json 中帮助您

  "start":"nodemon index.js"

   

并在终端中使用此命令运行

  nodemon start

【讨论】:

以上是关于节点 Nodemon 错误:找不到模块 'C:\Program Files\Git\node_modules\nodemon\bin\nodemon.js'的主要内容,如果未能解决你的问题,请参考以下文章

找不到模块“gulp-nodemon”。在 Windows 7 上,32 位。使用电源外壳

Docker /bin/bash: nodemon: 找不到命令

bash:nodemon:找不到命令

删除了节点模块,现在出现“错误:找不到模块 'webpack/lib/RuleSet'”错误

Docker - 在 docker 容器日志中找不到模块

节点 js 错误:找不到模块 './lib/socket.io'