节点js服务器的终端中无法识别nodemon命令

V S*_* SH 44 javascript frontend node.js nodemon

我正在从https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens进行node.js服务器设置.我是node.js的新手.我正在安装npm install nodemon --save.但是当我用这个运行服务器的时候nodemon server.js.
在终端显示:

nodemon不被识别为内部或外部命令,可操作程序或批处理文件

在此输入图像描述

node server.js命令工作并启动服务器,但nodemon命令不起作用.

我从https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens视频中设置了节点js服务器.

我不知道为什么它不工作我已经尝试了一些安装nodemon的命令.

npm install -g nodemon 
npm install -g nodemon --save 
npm install --save-dev nodemon 
npm install -g nodemon@debug 

npm install -g --force nodemon
Run Code Online (Sandbox Code Playgroud)

我看到一个链接我无法全局安装nodemon,"nodemon"无法识别,但我不知道如何设置路径,因为我的项目位于D盘.

我想跑nodemon server.js.如果有任何机构有想法请分享.提前致谢.

ndo*_*hoe 118

您需要全局安装它

npm install -g nodemon
# or if using yarn
yarn global add nodemon
Run Code Online (Sandbox Code Playgroud)

然后它将在路径上可用(我现在看到你已经尝试了它并且它不起作用,你的路径可能搞砸了)

如果要使用本地安装的版本,而不是全局安装,则可以在package.json中创建脚本

"scripts": {
    "serve": "nodemon server.js"
  },
Run Code Online (Sandbox Code Playgroud)

然后使用

npm run serve
Run Code Online (Sandbox Code Playgroud)

任选使用纱线

# without adding serve in package.json
yarn run nodemon server.js
# with serve script in package.json
yarn run serve
Run Code Online (Sandbox Code Playgroud)

然后,在全局模块中查找命令之前,npm将查找本地node_modules文件夹


小智 16

首先,写一下npm install --save nodemon然后在package.json中写下以下内容

"scripts": {
    "server": "nodemon server.js"
  },
Run Code Online (Sandbox Code Playgroud)

然后写


小智 12

  1. 全局安装nodemon:

    C:\>npm install -g nodemon
    
    Run Code Online (Sandbox Code Playgroud)
  2. 获取前缀:

    C:\>npm config get prefix
    
    Run Code Online (Sandbox Code Playgroud)

    您将在控制台中获得如下输出:

    C:\Users\Family\.node_modules_global
    
    Run Code Online (Sandbox Code Playgroud)

    复制它。

  3. 设置路径。
    转到高级系统设置→环境变量→单击新建(在用户变量下)→将显示弹出菜单→传递以下值:

    variable name = path,
    variable value = Copy output from your console
    
    Run Code Online (Sandbox Code Playgroud)
  4. 现在运行Nodemon:

    C:\>nodemon .
    
    Run Code Online (Sandbox Code Playgroud)


小智 10

无需全局安装 nodemon。只需运行这个npx nodemon <scriptname.js>。就是这样。

  • 这个解决方案对我有用,但我不明白为什么 npm 不起作用7 (4认同)

Ami*_*mar 9

要使用nodemon,您必须全局安装它。

对于 Windows

npm i -g nodemon

对于苹果机

须藤 npm i -g nodemon

如果您不想全局安装它,您可以通过运行命令将其本地安装在项目文件夹中 npm i nodemon 。如果在本地运行它会给出类似这样的错误:

nodemon:术语“nodemon”不被识别为 a 的名称
cmdlet、函数、脚本文件或可操作程序。检查拼写
名称,或者如果包含路径,请验证该路径是否为
正确并重试。

要消除此错误,请打开 package.json 文件并添加

"scripts": {
     "server": "nodemon server.js"
 },

然后运行命令

npm 运行服务器

你的nodemon将开始正常工作。


Pea*_*ace 8

几分钟前我遇到了同样的错误,这就是我解决它的方法:

1.全局安装“nodemon”

npm install nodemon -g

2.然后需要将npm路径添加到环境变量中

要查找路径,请在终端中执行以下操作:

npm config get prefix

您将得到如下所示的输出:C:\Users\user\AppData\Roaming\npm

如果您不确定如何在 Windows 上更新环境变量,请查看:此处

3. 使用“nodemon”再次运行应用程序 在运行应用程序之前,创建一个新终端以确保终端能够识别环境变量中的更改。然后运行: 例如:

Nodemon 服务器.js


adi*_*ade 7

我面临同样的问题.我已经将nodemon安装为dev-dependency,当我尝试启动服务器时,它给出了消息

nodemon不被识别为内部或外部命令,可操作程序或批处理文件

然后我全局安装它并尝试启动服务器,它工作正常!

npm install nodemon -g
Run Code Online (Sandbox Code Playgroud)


Saa*_*asi 7

我已经用这种方式修复了

  1. 卸载现有的本地nodemon

    npm 卸载nodemon

  2. 再次全局安装。

    npm i -g nodemon


Lar*_*tis 6

是否需要全局安装?你需要能够运行nodemon server.js吗?如果没有,您总是可以从本地项目目录中调用它。应该在这里:

node_modules/.bin/nodemon
Run Code Online (Sandbox Code Playgroud)


Shu*_*mar 6

我尝试在全球范围内安装nodemon,但这对我不起作用。每当我尝试运行它总是显示错误:

nodemon : The term 'nodemon' is not recognized as the name of a
cmdlet, function, script file, or operable program. Check the spelling
of the name, or if a path was included, verify that the path is
correct and try again.
Run Code Online (Sandbox Code Playgroud)

2.我找到了两个解决方案

解决方案1:

我尝试的是更新package.json 文件中的“脚本”,我在其中添加了

"server": "nodemon app.js"
Run Code Online (Sandbox Code Playgroud)

上面的代码行和之后的代码

npm run server
Run Code Online (Sandbox Code Playgroud)

解决方案2:

  1. 按 Windows 键。

  2. 在搜索框中输入“路径”并选择“编辑系统环境变量”

  3. 单击底部附近的“环境变量”。

  4. 在“系统变量”部分中双击“路​​径”变量。

  5. 单击右侧的“新建”。

  6. 将其复制并粘贴到框中(替换 [用户名]):

C:\Users[用户名]\AppData\Roaming\npm

  1. 重新启动终端和 VSCode。

  2. 然后输入nodemon app.js运行nodemon

我应用了解决方案 2,因为我们只需要运行 nodemon [filename.js]


小智 6

最好全局安装 nodemon,而不是作为项目的开发依赖项。

npm install -g nodemon

官方 NPM CDN:链接

该包用于监视 javascript 文件的更改并重新运行 npm start,以便于开发目的。


小智 5

由于节点前缀不在 PATH ENV 变量中,因此任何全局安装的模块都不会被识别。请尝试这个。打开 cmd 提示符 npm config get prefix 将生成的路径附加到 PATH env 变量。现在您应该能够从任何位置运行 nodemon。尝试此链接并关注它。修复 npm 权限 https://docs.npmjs.com/getting-started/fixing-npm-permissions#option-2-change-npms-default-directory-to-another-directory


Bak*_*nce 5

这一行解决了我在 CMD 中的问题:

npm install --save-dev nodemon
Run Code Online (Sandbox Code Playgroud)

  • 全局 nodemon 安装对我不起作用,但这个对我有用:) (4认同)

Yar*_*iro 5

这可能来晚了,但最好说点什么:)

如果您不想安装 nodemon globbaly,您可以使用npx它,它会在运行时安装该软件包,并将作为全局软件包运行(请记住,它目前仅可用,不存在于全局!)。

所以你只需要npx nodemon server.js.

  • npx可以从npm@5.2.0版本和更高版本开箱即用。