部署React应用到Netlify时出现npm EINVALIDTAGNAME错误无法解决
问题根因
报错核心原因是存在非法的npm依赖版本号格式:^>= 4,npm不支持同时叠加使用^和>=两个版本范围符,也不允许版本号字符串中包含空格。从部署日志可以定位到,错误出现在安装自定义Git依赖hero-slider的过程中,问题不在主项目的package.json配置,而是该自定义依赖自身的package.json里写了非法的版本声明。
修复步骤
- 打开你维护的
hero-slider仓库的package.json文件,全局搜索^>= 4字段,定位到对应的依赖项 - 修正错误的版本号写法:如果需求是指定版本大于等于4,直接写
>=4即可,删除多余的^和版本号中的空格 - 将修改后的代码推送到
hero-slider仓库的对应分支 - 回到主项目,删除本地的
package-lock.json文件和node_modules文件夹,执行npm install重新生成锁文件 - 将新生成的
package-lock.json推送到主项目仓库,重新触发Netlify部署即可
补充说明
你之前尝试的删除锁文件、添加CI=配置等操作不生效,是因为问题根源属于嵌套的自定义依赖配置错误,仅修改主项目配置无法解决问题。
内容的提问来源于stack exchange,提问作者Abdurahman Hijazi
相关产品推荐
相关产品推荐

