执行npm start、npm install时报错npm ERR! code ENOENT问题求助
报错信息:
npm ERR! code ENOENT npm ERR! syscall open npm ERR! path D:\major project/package.json npm ERR! errno -4058 npm ERR! enoent ENOENT: no such file or directory, open 'D:\major project\package.json' npm ERR! enoent 该报错与npm无法找到对应文件有关 npm ERR! enoent
触发原因
- 终端执行命令的工作目录错误:npm执行相关命令时默认会读取当前工作目录下的
package.json文件,如果你执行命令的终端没有切换到项目根目录,就会找不到对应文件抛出该错误。 - 路径或文件名不匹配:
- 项目根目录下的
package.json文件被误删除、重命名,或者后缀名被修改(比如Windows开启隐藏已知文件后缀时,可能被误存为package.json.txt) - 项目文件夹路径存在和预期不符的字符:比如报错中路径是带空格的
major project,如果实际项目文件夹是无空格的majorproject,也会触发路径匹配失败。
- 项目根目录下的
- 权限问题:当前终端用户没有该项目目录的读取权限,npm无法访问到
package.json文件。
对应解决方法
- 修正终端工作目录:
打开包含App.js、package.json的项目根文件夹,在资源管理器地址栏直接输入cmd回车启动终端,或在VS Code等编辑器中直接打开项目根目录后使用内置终端,执行命令前可输入cd(Windows cmd)或pwd(PowerShell/类Unix终端)确认当前路径为项目根路径后,再执行npm install、npm start即可。 - 校验文件和路径正确性:
确认项目根目录下存在名称完全为package.json的文件,无多余后缀;确认项目文件夹路径和报错中提示的路径完全一致,避免空格、大小写、特殊字符的差异。 - 校验目录权限:
右键点击项目文件夹,选择属性-安全,确认当前用户拥有该文件夹的读取、写入权限,避免权限不足导致的文件读取失败。
路径配置正确的前提下,执行npm install完成依赖安装后,再执行npm start即可正常启动该expo项目。
内容的提问来源于stack exchange,提问作者Salil Rajkarnikar
相关产品推荐
相关产品推荐

