VS Code执行npm install报ENOENT错误找不到package.json问题咨询
问题现象
在VS Code终端执行npm install时抛出异常,终端完整输出如下:
qasimnoman@Qasims-MacBook-Pro ~ % npm install npm ERR! code ENOENT npm ERR! syscall open npm ERR! path /Users/qasimnoman/package.json npm ERR! errno -2 npm ERR! enoent ENOENT: no such file or directory, open '/Users/qasimnoman/package.json' npm ERR! enoent This is related to npm not being able to find a file. npm ERR! enoent npm ERR! A complete log of this run can be found in: npm ERR! /Users/qasimnoman/.npm/_logs/2022-04-08T12_59_39_855Z-debug-0.log
核心报错为npm无法找到/Users/qasimnoman/路径下的package.json文件。
触发原因
npm install默认会读取当前终端工作目录下的package.json文件,按文件里声明的依赖清单安装包。从终端提示符的~标识可以看出,执行命令时终端正处在用户根目录/Users/qasimnoman/下,这个目录默认不会存放项目的package.json,自然会报找不到文件的错误,本质就是执行命令的路径不对。
排查解决步骤
按以下顺序操作即可修复:
- 先定位自己的Node.js项目实际存放位置,找到存放
package.json的文件夹(即项目根目录) - 在VS Code终端执行
cd 你的项目根目录绝对路径切换到对应目录,比如项目存放在桌面的my-demo文件夹下,就执行cd ~/Desktop/my-demo - 切换路径后执行
ls命令(Windows系统执行dir),确认返回的文件列表里存在package.json,再重新执行npm install即可正常运行 - 如果是刚新建的空文件夹、或者刚拉取的远程仓库里本身没有
package.json,直接在项目目录下执行npm init -y,会自动生成一份默认配置的package.json,之后再执行install命令就不会触发该报错 - 日常使用VS Code时建议直接通过「打开文件夹」选中项目根目录启动,不要打开上层目录或者用户根目录,否则新开终端会默认定位到错误的工作路径,很容易反复出现这类问题
如果切换到正确路径后还是报相同错误,先检查路径里是否包含中文、特殊符号导致路径识别失败,再确认当前登录账号对项目文件夹是否有读取权限。
内容的提问来源于stack exchange,提问作者Qasim Noman
相关产品推荐
相关产品推荐

