我是npm的新手,正在try 了解如何为部署重新创建node_modules
目录.
我们使用npm ci
而不是npm install
,以确保部署过程中一尘不染.但是,当我们在没有任何标志的情况下运行它时,会出现以下错误:
修复upstream 依赖项冲突,或使用--force或--legacy peer dep重试此命令,以接受不正确(可能已损坏)的依赖项解析.
npm install
对--force
的 Select 如下(npm ci
的106上没有旗帜):
-f或--force参数将强制npm获取远程资源,即使磁盘上存在本地副本.
同时,--legacy-peer-deps
的文件中说:
--传统对等deps:以npm版本4到版本6的风格,在安装时忽略所有对等依赖项.
这两个标志似乎都可以让npm ci
生成node_modules
目录,而不会出现任何问题,但我仍然不清楚两者之间的区别.
据我所知,--force
听起来像是在最后一次下载依赖项的基础上,并将覆盖任何以前下载的依赖项.同时,--legacy-peer-deps
听起来似乎总是会在安装过程中跳过对等依赖项(无论它们是什么),即使没有问题.
这两个标志之间有什么区别,我们应该在什么时候使用它们?