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

时间:2016-11-01 11:57:54

标签: javascript node.js frontend 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不被识别为内部或外部命令,可操作   程序或批处理文件

enter image description here

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

我看过一个链接I can´t install nodemon globally, "nodemon" not recognized,但我不知道如何设置路径,因为我的项目位置在D盘中。

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

22 个答案:

答案 0 :(得分:82)

您需要全局安装

npm install -g nodemon
# or if using yarn
yarn global add nodemon

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

如果您想使用本地安装的版本,而不是全局安装,那么您可以在package.json中创建一个脚本

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

然后使用

npm run serve

可选择使用纱线

# without adding serve in package.json
yarn run nodemon server.js
# with serve script in package.json
yarn run serve
然后,在全局模块中查找命令之前,

npm将查找本地node_modules文件夹

答案 1 :(得分:9)

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

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

然后写

npm run server

答案 2 :(得分:7)

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

  

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

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

npm install nodemon -g

答案 3 :(得分:6)

  1. 全局安装nodemon: C:> npm install -g nodemon(按Enter)
  2. 获取前缀: C:> npm config获取前缀(命中输入) 您将在控制台中获得如下输出: C:\ Users \ Family.node_modules_global (从控制台复制输出)
  3. 设置路径 转到高级系统设置>>环境变量>>单击新建(在用户变量下)>>将显示弹出式窗体>>传递以下值 变量名称 = 路径变量值 = 从控制台复制输出
  4. 现在运行Nodemon C:> nodemon。

答案 4 :(得分:3)

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

node_modules/.bin/nodemon

答案 5 :(得分:2)

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

答案 6 :(得分:2)

无需全局安装nodemon。只需运行 npx nodemon 。就是这样。

答案 7 :(得分:1)

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

npm install -g nodemon

官方 NPM CDN:Link

此包用于监控 javascript 文件中的更改并重新运行 npm start 以便于开发目的。

答案 8 :(得分:1)

对我来说,设置路径变量足以解决:

步骤 1) 使用 npm install -g nodemon

全局安装 nodemon

enter image description here

步骤 2) 设置 ENVIRONMENT VARIABLES,通过添加 npm path PATH 变量

1) 打开控制面板,搜索环境变量

enter image description here

2) 点击打开环境变量 enter image description here

3) 创建新变量 NPM,将其设置为 nodemon 安装 cmd 输出中显示的 npm 路径(如 nodemon 安装屏幕截图所示): >

enter image description here

4) 现在将 NPM 变量添加到 PATH 变量中:

enter image description here

步骤 3) 关闭“cmd”并打开一个新的并输入 nodemon --version enter image description here

现在我们可以使用 nodemon 了:)

答案 9 :(得分:1)

我尝试在全球范围内安装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.

2。我已经找到了两种解决方案

解决方案1:

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

"server": "nodemon app.js"

代码行上方和之后

npm run server

解决方案2:

  1. 按Windows键。

  2. 在搜索框中键入“路径”,然后选择“编辑系统环境变量”

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

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

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

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

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

  1. 重新启动终端和VSCode。

  2. 然后键入nodemon app.js以运行nodemon

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

答案 10 :(得分:1)

删除nodemon,因为它是开发人员依赖项,请使用node代替它。

"scripts": {
     "start": "node server.js"
 },

这对我有用。

答案 11 :(得分:1)

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

npm install --save-dev nodemon

答案 12 :(得分:0)

在我的开发计算机上创建新的用户个人资料后,也遇到了同样的问题。

问题是我没有以管理员身份运行控制台(命令提示符\ powershell ISE)。

以管理员身份运行为我解决了这个问题。

答案 13 :(得分:0)

以上所有选项均失败,为此我获得了永久解决方案。 在依赖项和run npm install下的 package.json 中添加以下行。这会将nodemon软件包添加到 node_modules ,然后您就可以开始享受编码了。

"nodemon": "^1.17.*"

答案 14 :(得分:0)

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

对于Windows

npm i -g nodemon

对于Mac

sudo npm i -g nodemon

如果您不想全局安装它,可以通过运行命令 npm i 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.

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

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

然后运行命令

npm run server

,您的nodemon将开始正常工作。

答案 15 :(得分:0)

这可能要晚了,但是最好说些什么:)

如果您不想安装nodemon globbaly,则可以使用npx,它会在运行时安装该软件包,并且会像全局软件包一样工作(请注意,该软件包目前仅可用,并且不可用全球存在!)。

所以您只需要npx nodemon server.js

  • npx可以从npm@5.2.0版本开始使用。

答案 16 :(得分:0)

只需全局安装

 npm install -g  nodemon

它在Windows 10上对我有用。

nodemon app.js

答案 17 :(得分:0)

对于Windows,Set-ExecutionPolicy cmdlet的默认执行策略为“受限”。 您可以通过将此策略设置为Unrestricted来尝试安装nodemon。

执行命令:Set-ExecutionPolicy Unrestricted 然后尝试安装nodemon并执行命令:nodemon -v

答案 18 :(得分:0)

我已经通过这种方式固定

  1. 卸载现有的本地节点

    npm卸载nodemon

  2. 再次在全局进行安装。

    npm i -g nodemon

答案 19 :(得分:0)

运行此命令:

npm install nodemon -g

现在它将安装nodemon,但是我的情况是它正在其他地方安装nodemon。我从(ProgramFiles(x86))添加了Node.js路径,但是没有用,所以我找到了另一个解决方案。

  • 运行以上命令
  • 在安装过程中将显示一个路径,其中安装了nodemon,然后 [请转到下面的链接查看路径] [1]

    [1]:https://i.stack.imgur.com/ld2sU.png

  • 将路径复制到npm并将其设置为环境变量
  • 现在尝试以下命令,希望它将运行

      nodemon YourAppName.js

答案 20 :(得分:0)

试试你的 packge.json: 放置“./node_modules/.bin/nodemon”而不是“nodemon”。 对我来说它有效。

答案 21 :(得分:-1)

您只需输入nodemon即可运行您的节点应用 它首先运行index.js 您可以轻松地将入口点放在该文件中。

如果尚未安装nodemon,则首先必须通过以下方式进行安装

npm install -g nodemon

如果您遇到任何权限错误,请使用

sudo npm install -g nodemon

您可以通过

检查nodemon是否存在
nodemon -v