执行npm install出现ENOENT报错找不到package.json问题咨询
npm install 执行报错解决方案
问题复现信息
- 执行路径:
C:\WINDOWS\system32 - 执行命令:
npm install - 输出警告:
npm WARN config global--global,--localare deprecated. Use--location=globalinstead. - 抛出错误:
- 错误码:
ENOENT - 错误详情:执行
open系统调用失败,找不到C:\WINDOWS\system32/package.json文件,错误号-4058,原因为npm无法找到对应文件 - 完整日志路径:
C:\Users\pluci\AppData\Local\npm-cache\_logs\2022-06-02T18_35_04_133Z-debug-0.log
- 错误码:
错误原因
- 核心报错原因:执行
npm install时如果不指定具体包名,npm默认会读取当前工作目录下的package.json文件,安装文件中声明的所有项目依赖。当前执行目录是系统目录C:\WINDOWS\system32,该目录下不存在项目的package.json文件,因此触发文件不存在的ENOENT错误。 - 警告信息原因:所用npm版本已经废弃了旧的全局/局部安装参数
--global、--local,官方新的参数写法为--location=global,该警告仅为参数规范提示,不会直接导致命令执行失败。
修复步骤
- 安装项目依赖场景:先通过
cd命令切换到项目根目录(即存放项目package.json的文件夹),再执行npm install即可正常安装依赖。提醒:不要在
C:\WINDOWS\system32这类系统目录下执行项目相关命令,容易触发权限不足、系统文件污染等问题。 - 全局安装npm包场景:直接使用新参数格式执行安装命令即可,命令格式为
npm install 你要安装的包名 --location=global。 - 新建项目场景:先切换到提前创建好的项目空文件夹,执行
npm init按照引导生成项目的package.json文件后,再执行npm install安装需要的依赖。
内容的提问来源于stack exchange,提问作者Plucious
相关产品推荐
相关产品推荐

