一、nodemon启动报错无法将“nodemon”项识别

错误信息

nodemon : 无法将“nodemon”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。

背景
由于我是采用的全局安装,尝试多次使用nodemon命令都一直提示错误(该报错信息通常是指,在当前路径以及所配置的环境变量路径中,并未找到该程序)。

后来看了许多博客后才知道可能由于环境变量设置引起的问题。但使用别人提供的安装路径后并无作用,查看之后才知自己的路径跟别人设置的不一样。


二、引起该问题主要分为两种情况:

1、可能未进行全局安装导致。
全局安装命令 npm install -g nodemon

2、没有配置环境变量导致。

  1. 若npm安装后,没有修改过模块安装位置。则默认安装在C:\Users\XXX\AppData\Roaming\npm。其中AppData是隐藏文件。
  2. 若安装npm后,自定义npm的模块安装位置(例如执行过如下命令),则安装路径为修改后的路径。
    可通过执行 npm config list 查看 npm 配置信息。
npm config set prefix="D:\nodejs\node_global" 
npm config set cache="D:\nodejs\node_cache"

无法将 yarn项识别 无法将nodemon识别_环境变量


三、解决方案:

针对由于环境变量引起的错误,只需要在环境变量——系统变量——Path中,添加 prefix 所对应的全局安装路径即可(例如我的就是 D:\nodejs\node_global)。如此方可在任何地方,执行nodemon。

重启Vscode / 命令窗口,执行nodemon server.js

无法将 yarn项识别 无法将nodemon识别_无法将 yarn项识别_02


补充:若仍报错,则尝试运行 npx nodemon xxx.js 命令。


扩展:
nodemon是一个帮助开发基于node.js的应用程序的工具,它可以在检测到目录中的文件更改时自动重新启动节点应用程序。不需要手动重新启动服务。


四、补充另一种错误及解决办法

nodemon : 无法加载文件 D:\nodejs\node_global\nodemon.ps1,因为在此系统上禁止运行脚本。
有关详细信息,请参阅 https:/go.micros oft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ nodemon 228.js
+ 
    + CategoryInfo          : SecurityError: (:) [],PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

运行 get-ExecutionPolicy 查看权限,若非 RemoteSigned ,则是由于权限问题导致。
执行 Set-ExecutionPolicy -Scope CurrentUser , 然后输入 RemoteSigned 即可。

无法将 yarn项识别 无法将nodemon识别_重新启动_03