我遇到问题:nodemon没有运行npm脚本(例如npm start
),
但是如果在npm脚本之外的命令行上调用nodemon,则nodemon将正常运行。
$ nodemon server.js
14 Feb 22:59:51 - [nodemon] v1.3.7
14 Feb 22:59:51 - [nodemon] to restart at any time, enter `rs`
14 Feb 22:59:51 - [nodemon] watching: *.*
14 Feb 22:59:51 - [nodemon] starting `node server.js`
如何在npm脚本中调用它:
package.json
{
...
"scripts": {
"start": "nodemon server.js"
}
}
运行npm start脚本时:
$ npm start
> aaa@0.0.1 start /home/akul/Documents/aaa
> nodemon server.js
sh: 1: nodemon: not found
npm ERR! Linux 3.13.0-45-generic
npm ERR! argv "node" "/home/akul/npm-global/bin/npm" "start"
npm ERR! node v0.12.0
npm ERR! npm v2.5.0
npm ERR! code ELIFECYCLE
npm ERR! aaa@0.0.1 start: `nodemon server.js`
npm ERR! Exit status 127
npm ERR!
npm ERR! Failed at the aaa@0.0.1 start script 'nodemon server.js'.
npm ERR! This is most likely a problem with the aaa package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! nodemon server.js
npm ERR! You can get their info via:
npm ERR! npm owner ls aaa
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /home/akul/Documents/aaa/npm-debug.log
我一直在寻找解决方案,但还没有找到解决方案。
答案 0 :(得分:87)
您可以通过将nodemon添加到package.json
来解决此问题npm install nodemon --save
当/node_modules/.bin
中不存在nodemon时,会出现问题答案 1 :(得分:32)
尝试检查已安装的全局包npm list -g --depth=0
。如果您找不到nodemon
,请使用标记-g
或--save-dev
进行安装。请勿使用标记nodemon
安装--save
,因为nodemon
仅用于development
。
答案 2 :(得分:27)
在您当前的项目目录下,运行
npm install nodemon --save //save in package.json so that the following code cam find your nodemon
然后在"脚本"在你的 package.json 文件中,添加" start":" nodemon app.js" (或者你的切入点是什么)
所以看起来像这样:
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "nodemon app.js"
}
然后运行
npm start
这可以避免复杂的PATH设置,它可以在我的机器上工作 希望可以帮到你;)
答案 3 :(得分:23)
使用以下命令全局安装nodemon
。它可以在我的计算机上运行,我确信它也适用于您的系统。
npm install nodemon -g --save
有时您应该有权在全球范围内安装它。可以使用以下命令轻松完成。
在LINUX UBUNTU中:
sudo npm install nodemon -g --save
在Fedora中:
a)su
B)npm install nodemon -g --save
答案 4 :(得分:5)
当我使用 npm install nodemon -g --save
安装nodemon时,PATH变量中不存在全局npm包的路径。
如果你只是将它添加到$ PATH变量,它将被修复。
修改主文件夹中的 ~/.bashrc
文件并添加以下行: -
export PATH=$PATH:~/npm
这里" npm"是我的全局npm包的路径。将其替换为系统中的全局路径
答案 5 :(得分:3)
您必须在全球范围内简单地安装它。 npm install -g nodemon
答案 6 :(得分:2)
此解决方案对我有用:
我假设您已全局安装nodemon。如果完成,请按照以下步骤操作:
打开您的.bash_profile文件:
nano .bash_profile
粘贴此代码可在bash个人资料中添加新别名:
alias nodemon='~/.npm-global/lib/node_modules/nodemon/bin/nodemon.js'
现在,您可以在任何地方使用nodemon命令。
答案 7 :(得分:2)
sudo npm install nodemon -g --save
最后这对我有用。我希望这也对其他人有用
答案 8 :(得分:2)
尝试全局安装nodemon。
sudo npm install -g nodemon
答案 9 :(得分:1)
npx nodemon(app.js)为我工作,而nodemon(app.js)却没有。
我将node.js更新到最新版本,现在两者都可以正常工作。
答案 10 :(得分:1)
heroku默认在生产环境中运行,因此它不会安装开发依赖项。
如果您不想将nodemon重新安装为依赖项,我认为不应该这样做,因为它的正确位置位于devDependencies中,而不是依赖项中。
相反,您可以通过仅在本地主机中运行nodemon来创建两个npm脚本来避免此错误:
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node app.js",
"start:dev": "nodemon --watch"
},
,当您想在本地运行项目时,只需在终端npm run start:dev
中运行,它将通过nodemon加载app.js。
在heroku npm start
中,默认情况下运行并从普通节点命令加载app.js,您将摆脱该错误。
答案 11 :(得分:1)
我遇到了类似的问题,但是随后检查了.npmrc文件,并且密码错误导致连接失败,并且纱线--verbose返回了错误的请求错误。更正密码后,软件包已成功添加。
答案 12 :(得分:1)
安装babel后,我的nodemon消失了(为什么?)。
尝试了很多东西。 这是我的解决方法:
<!DOCTYPE html>
<html>
<head>
<title>test</title>
<meta charset="UTF-8">
</head>
<body>
<div class="container">
<div class="row my-3">
<div class="col">
<h4>Chart</h4>
</div>
</div>
<div class="row my-2">
<div class="col-md-12">
<div class="card">
<div class="card-body">
<canvas id="chLine" height="100"></canvas>
</div>
</div>
</div>
</div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.js"></script>
<script src="test.js"></script>
</body>
</html>
只需使用sudo重新安装即可。是的。
答案 13 :(得分:1)
这对我有用...
将nodemon安装为本地开发依赖项
npm install --save-dev nodemon
将脚本添加到应用程序package.json中以启动应用程序。
"scripts": {
"start": "nodemon app.js"
},
以npm start
$ npm start
> node-rest-demo@1.0.0 start node-rest-demo
> nodemon app.js
[nodemon] 1.19.4 [nodemon] to restart at any time, enter `rs` [nodemon] watching dir(s): *.* [nodemon] watching extensions: js,mjs,json [nodemon] starting `node app.js` Starting server ...
答案 14 :(得分:0)
在Heroku上部署时遇到了这个问题。 问题出在Heroku上,不包括devDependencies本身。 要解决此问题,只需在终端中运行命令:
heroku config:set NPM_CONFIG_PRODUCTION = false
确保在devDependencies中包含nodemon
"scripts": {
"start": "nodemon fileName.js",
"start:dev": "nodemon fileName.js"
}
我建议先卸载nodemon,然后再重新安装
https://www.npmjs.com/package/nodemon
或者尝试更改脚本
dtype
希望这会有所帮助:)
答案 15 :(得分:0)
我找到了一个非常简单的解决方案。 只需从您的PC中删除npm和npm缓存文件夹。 再次重新安装它,但是我们许多人犯的错误不是全局安装npm。所以:
npm i -g npm
然后,全局安装nodemon:
npm i -g nodemon
现在,即使不使用以下命令,nodemon也可以全局运行:
npx nodemon <yourfilename>.js
答案 16 :(得分:0)
对于Linux试用
sudo npm install -g nodemon
对于Windows 打开powershell或cmd进行管理
npm install -g nodemon
答案 17 :(得分:0)
我是我的情况:
npm install nodemon
没有任何标志等。
答案 18 :(得分:0)
对于带有适用于Linux的Windows子系统(即WSL模式)的Visual Studio代码编辑器:
sudo npm install nodemon -g
供nodemon全局使用。
答案 19 :(得分:0)
Windows指令,
打开命令提示符。
输入npm i -g nodemon --save
“ --save”用于将该节点包的添加内容保存在项目的package.json文件中
答案 20 :(得分:0)
我尝试使用npm list -g --depth=0
列出全局软件包,但找不到nodemon。
因此,尝试使用全局标志安装它。
sudo npm install nodemon -g
这对我来说很好。
答案 21 :(得分:0)
在我的情况下,nodemon需要全局安装:
npm i nodemon -g --save
答案 22 :(得分:0)
NPM用于管理软件包并下载它们。但是,必须使用NPX作为执行节点程序包的工具
尝试使用NPX nodemon ...
希望这会有所帮助!
答案 23 :(得分:0)
-保存,-g和更改package.json脚本对我不起作用。这样做的是:在命令行中运行npm start
(或使用npx nodemon
)。我使用Visual Studio代码终端。
成功后,您将看到以下消息:
[nodemon] 1.18.9
[nodemon]随时重新启动,输入rs
[nodemon]观看:。
[nodemon]开始node app.js
祝你好运!
答案 24 :(得分:0)
我想补充一下解决此问题的方式,因为我不得不对几种不同的解决方案进行一些混搭。作为参考,这是针对Windows 10 PC,nodemon已经运行了好几个月,然后突然找不到命令,除非使用npx在本地运行。 这是我的步骤-
npm list -g
--depth=0
来检查它是否已全局安装,对于我来说是已安装,因此重新开始... npm uninstall -g nodemon
npm install -g --force nodemon --save-dev
重新安装了(建议您先尝试运行npm install -g nodemon --save-dev
,然后执行其余的步骤,如果不起作用,请再次执行步骤2和3使用--force)。npm config get prefix
检查了npm文件夹的位置,在我的情况下该命令位于C:\ Users \ username \ AppData \ Roaming \ npm export PATH=%PATH%;C:\Users\username\AppData\Roaming\npm;
(显然,用您的用户名或在步骤4中检索到的文件路径替换“用户名”)我希望这对一直困扰我的人有帮助!
答案 25 :(得分:0)
您始终可以重新安装Node.js。当我遇到这个问题时,我无法解决它,但是我所做的只是更新了当前版本的Node。您可以使用以下链接更新它:https://nodejs.org/en/download/
答案 26 :(得分:0)
首先通过以下方式将nodemon安装到您的工作文件夹中
npm install nodemon
将nodemon的路径添加到系统环境的环境变量的路径变量。 就我而言,nodemon的路径是。
C:\Users\Dell\Desktop\Internship Project\schema\node_modules\.bin
对我有用。
答案 27 :(得分:0)
有同样的问题,否则一天前工作正常。
非常简单的修复
首先检查您的系统上是否存在nodemon是否全局
检查
npm list -g --depth=0
如果你没有看到然后安装
它npm install -g nodemon
(g代表全球)
如果您发现它仍然无法工作,那么您需要配置环境变量
我使用的是Windows操作系统。在Windows上导航到
Control panel>System>Advanced System Settings>Environment Variables>double-click on PATH
现在检查您是否有此路径C:\Users\yourUsername\AppData\Roaming\npm
如果没有,你会看到一些现有的路径,只是用分号附加它。那就是它! 为我工作。
对于我来说节点安装在C:.. \ Roaming \ npm中,如果PATH不同,你可以放入任何适用的。
答案 28 :(得分:0)
我遇到了这个问题,即使我在我的应用程序中使用了命令npm install nodemon --save
,我仍然遇到了nodemon的问题。
我在使用命令npm install nodemon -g