在npm中找不到nodemon

时间:2015-02-14 16:13:29

标签: node.js npm nodemon

我遇到问题: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

我一直在寻找解决方案,但还没有找到解决方案。

29 个答案:

答案 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

有时您应该有权在全球范围内安装它。可以使用以下命令轻松完成。

  1. 在LINUX UBUNTU中: sudo npm install nodemon -g --save

  2. 在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

开始nodemon
$ 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"
 }

如果您的错误不在Heroku中

我建议先卸载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在本地运行。 这是我的步骤-

  1. 通过运行npm list -g --depth=0来检查它是否已全局安装,对于我来说是已安装,因此重新开始...
  2. 我跑了npm uninstall -g nodemon
  3. 接下来,我使用npm install -g --force nodemon --save-dev重新安装了(建议您先尝试运行npm install -g nodemon --save-dev,然后执行其余的步骤,如果不起作用,请再次执行步骤2和3使用--force)。
  4. 然后,我使用命令npm config get prefix检查了npm文件夹的位置,在我的情况下该命令位于C:\ Users \ username \ AppData \ Roaming \ npm
  5. 我修改了PATH变量,以添加该文件路径和第二个附加\ bin的条目(由于某些人只需要root npm文件夹,而其他人则需要bin,因此我不确定实际需要哪个,只需简单地将两者都添加就足够了)
  6. 最后,我遵循了Natesh在该条目上建议的类似指示,但是,对于Windows,.bashrc文件不会自动存在,因此您需要在〜目录中创建一个文件。我还需要稍微更改导出的写入方式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

全局安装nodemon后解决了