我们已经从npm3迁移到使用yarn,因为我们想要更快的安装时间。
在我们的项目中,我们有
- 我们的主要应用程序 - 我的应用程序
- 模块我们在主应用程序中用作依赖项 - 我的模块。
my-app 的 package.json:
dependencies: {
// ...
"my-module" : "~1.4.0"
// ...
}
我们的开发计量是这样工作的: 更新修补程序版本以进行非中断性更改。 更新次要版本以进行重大更改。
这就是我们使用波浪号 (~( 的原因,因此我们不必每次更改都更新 my-app 的package.json
。
现在我们已经转向纱线,我们有lock.file。 我知道每次要更新它时都需要运行yarn upgrade my-module
。
我的问题是:
- 我可以避免这个过程吗? 也许,不使用锁定文件? 或者告诉 yarn 只要有新补丁可用,我就可以更新这个特定模块?
- 当我运行
yarn upgrade my-module
它会更新我的包.json,为什么? - 它不仅更新了我的package.json,还出于某种未知原因将我的记录更改为插入符号(^(,这是为什么?
dependencies: {
// ...
"my-module" : "^1.4.47"
// ...
}
- 是的。只是不要使用
yarn.lock
文件,即不要提交它。 - 和 3.因为这就是
yarn upgrade
所做的。