这是我对yarn
nodejs软件包管理工作原理的理解
yarn.lock
声明项目中安装的软件包的确切版本。该软件包列表是与操作系统无关的操作系统。yarn.lock
文件中,包括:
package.json
文件->运行yarn.lock
时,当前操作系统不会影响放入yarn install
中的软件包
我做了什么:
yarn install
->生成yarn.lock
yarn.lock
复制到Mac计算机上nodejs
版本,运行yarn install --frozen-lockfile
并且安装失败。但是,当我在Mac上使用其他版本的nodejs
时,运行yarn install --frozen-lockfile
是可行的。
所以这意味着:
yarn.lock
文件nodejs
不能保证安装可以在所有操作系统上正常工作吗?
答案 0 :(得分:0)
yarn.lock
除非所有依赖项都支持跨平台,否则它将无法在其他平台上100%工作
仅检查我的yarn.lock
他们添加了一些基于操作系统的依赖关系,以我为例,添加了is-windows
模块
检查您的所有软件包是否支持跨平台,因为有时许多软件包是特定于平台的,您可以检查该软件包的packages.json中的所有依赖项
OR
如果您在其他操作系统上使用该应用程序,请不要按yarn.lock
。