React项目升级now-cli至18.0.0后now.sh部署失败问题及解决
解决Now CLI 18.0.0部署时的ENOENT文件缺失问题
这是典型的npm与yarn依赖管理工具混用导致的依赖目录损坏问题,升级now-cli后触发了这个隐藏的冲突。下面是具体的解决方法和原因分析:
快速修复方案
直接执行以下命令重新安装依赖并部署即可解决:
yarn install && now
问题根源解析
你之前用yarn成功部署过create-react-app项目,但升级now-cli到18.0.0后,新版本CLI的依赖检测逻辑发生了变化,触发了之前混用npm和yarn留下的隐患——node_modules目录里的嵌套依赖链出现了缺失(报错里找不到的acorn可执行文件就是嵌套依赖链的一环)。这种情况大多是因为项目中交替使用过npm和yarn安装依赖,导致依赖目录结构出现了不一致或损坏。
后续预防建议
- 固定使用一种包管理工具,要么全程用yarn,要么全程用npm,避免混用
- 如果后续再遇到类似依赖缺失问题,可以彻底清理旧依赖后重装:
rm -rf node_modules yarn.lock package-lock.json yarn install now
内容的提问来源于stack exchange,提问作者peterchan127
相关产品推荐
相关产品推荐

