Node本地与全局包安装差异及nodemon安装报错咨询
npm i nodemon 与 npm install -g nodemon 的区别及报错原因 核心区别
安装位置
npm i nodemon(等同于npm install nodemon)是本地安装,包文件会存入当前项目的node_modules目录下,仅当前项目可访问该包。npm install -g nodemon是全局安装,包文件会存入npm的全局目录(Windows一般是C:\Users\<用户名>\AppData\Roaming\npm,Mac/Linux为/usr/local/lib/node_modules),所有本地项目都能调用。
调用方式
- 本地安装的nodemon无法直接在终端通过
nodemon命令调用,因为系统环境变量未指向其可执行文件路径。需通过两种方式调用:- 在项目
package.json的scripts中配置命令,比如"dev": "nodemon index.js",然后执行npm run dev; - 使用相对路径直接执行:
./node_modules/.bin/nodemon index.js。
- 在项目
- 全局安装的nodemon,其可执行文件路径会被自动加入系统环境变量,因此能在终端任意位置直接输入
nodemon命令运行。
- 本地安装的nodemon无法直接在终端通过
报错原因分析
你遇到的"nodemon is not recognized as internal or external command, operable program or batch file"报错,是因为本地安装的nodemon未被添加到系统环境变量中,终端无法找到该命令的可执行文件。全局安装后,npm会自动将nodemon的可执行路径写入环境变量,系统就能识别并执行nodemon命令了。
额外建议
本地开发场景更推荐使用npm install --save-dev nodemon(或缩写npm i -D nodemon),该命令会将nodemon标记为开发依赖,写入项目package.json的devDependencies字段,方便其他开发者克隆项目后通过npm install一键安装所有依赖。
内容的提问来源于stack exchange,提问作者user6791921
相关产品推荐
相关产品推荐

