在一个项目中,我已经用yarn代替了npm,以便享受它带来的好处,同时也通过yarn.lock强制锁定我们的依赖关系。
现在,开发人员使用npm@4添加了一个库,这只修改了package.json,而没有改变yarn.lock。
我本来期望yarn install命令在构建服务器上崩溃,但是yarn有了对我意外的行为,它会将当前最新版本的这些库添加进去,然后更新远程的yarn.lock。
这与yarn的目的相矛盾,因为构建任务不会将
我希望每个开发人员负责他们正在检入的版本。
因此,如果
现在,开发人员使用npm@4添加了一个库,这只修改了package.json,而没有改变yarn.lock。
我本来期望yarn install命令在构建服务器上崩溃,但是yarn有了对我意外的行为,它会将当前最新版本的这些库添加进去,然后更新远程的yarn.lock。
$ yarn install
[1/4] Resolving packages...
[2/4] Fetching packages...
warning fsevents@1.1.2: The platform "linux" is incompatible with this module.
info "fsevents@1.1.2" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
Done in 5.07s.
这与yarn的目的相矛盾,因为构建任务不会将
yarn.lock
推回存储库,也不应该这样做。我希望每个开发人员负责他们正在检入的版本。
因此,如果
package.json
和yarn.lock
不同步,是否有一种方法使yarn install
退出并显示错误代码?