执行npm install时出现npm ERR! code ENOLOCAL错误如何解决
npm install 报 ENOLOCAL 错误修复方案
执行npm install时触发报错,此前尝试清除npm缓存、升级npm最新版本均未解决,具体报错信息:
> npm install npm ERR! code ENOLOCAL npm ERR! Could not install from "node_modules\tui-editor\squire-rte@github:seonim-ryu\Squire#fd40b4e3020845825701e9689f190bab3f4775d4" as it does not contain a package.json file.
故障原因
npm解析tui-editor依赖的github格式包squire-rte时路径解析异常,没有拉取远程github仓库代码,反而在本地node_modules目录下查找对应包,导致找不到package.json文件。
修复方案
按优先级依次尝试以下操作:
- 清理残留依赖文件后重装
先彻底删除本地残留的依赖目录和锁文件,再重新执行安装,不同系统执行命令如下:
删除完成后重新运行# Windows 命令行执行 rd /s /q node_modules del package-lock.json # Mac/Linux 终端执行 rm -rf node_modules rm -f package-lock.jsonnpm install即可。 - 替换tui-editor为npm官方稳定版本
检查项目package.json中tui-editor的版本配置,如果是直接引用github分支的版本,替换为npm源发布的正式稳定版本号,再重新执行安装,避免非官方发布版本的依赖解析问题。 - 配置git拉取规则
该依赖需要通过git从github拉取,先确认本地已安装git且可正常访问github,执行以下命令配置git自动替换拉取协议,避免协议不兼容导致拉取失败:
配置完成后重新执行git config --global url."https://github.com/".insteadOf git@github.com: git config --global url."https://".insteadOf git://npm install。 - 手动预安装缺失依赖
上述方案都无效时,可以先手动安装对应commit版本的squire-rte依赖,再执行整体安装:npm install github:seonim-ryu/Squire#fd40b4e3020845825701e9689f190bab3f4775d4 --save
内容的提问来源于stack exchange,提问作者Hanyi Koh
相关产品推荐
相关产品推荐

