为啥在 windows 上运行 yarn 会改变 yarn.lock
Posted
技术标签:
【中文标题】为啥在 windows 上运行 yarn 会改变 yarn.lock【英文标题】:Why does running yarn on windows changes yarn.lock为什么在 windows 上运行 yarn 会改变 yarn.lock 【发布时间】:2019-01-11 03:29:44 【问题描述】:我在 Mac 上的项目上运行了 yarn,生成了一个 yarn.lock 并将其提交给 git。
现在我在 Windows 机器上打开同一个项目,然后运行 yarn 来获取依赖项。它输出
yarn install v0.24.5
[1/4] Resolving packages...
[2/4] Fetching packages...
warning fsevents@1.2.4: The platform "win32" is incompatible with this module.
info "fsevents@1.2.4" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
并且确实修改了 yarn.lock。
为什么会发生这种情况,我应该怎么做?
注意:Windows 不是我们的主要开发环境,我们主要在 mac 上进行开发,prod 是 linux。由于 Windows 问题,我犹豫是否要更改我的依赖项。
【问题讨论】:
【参考方案1】:当您在系统上安装了 yarn 后,您需要使用 --frozen-lockfile
选项来防止锁定文件被更改。
您可以找到here 和here 报告的问题。
【讨论】:
以上是关于为啥在 windows 上运行 yarn 会改变 yarn.lock的主要内容,如果未能解决你的问题,请参考以下文章
为啥安装 esparse 时“yarn install”会引发 ENOENT 错误?
windows上npm yarn.ps1,因为在此系统上禁止运行脚本
与原生 Windows NPM/Yarn 处理相比,为啥 WSL 非常慢?
Yarn v3.0.2 为啥不安装 node_modules 文件夹?需要在 yarn 的命令之后运行 npm install 吗?