使用相同的nodejs版本和yarn.lock,安装frozen-lockfile在Ubuntu上有效,但在Mac上失败

时间:2019-05-30 04:23:31

标签: node.js yarnpkg

这是我对yarn nodejs软件包管理工作原理的理解

  • yarn.lock声明项目中安装的软件包的确切版本。该软件包列表是与操作系统无关的操作系统。
  • 条件将影响哪些具体内容添加到yarn.lock文件中,包括:
    • 当前节点版本
    • package.json文件

->运行yarn.lock时,当前操作系统不会影响放入yarn install中的软件包

我做了什么:

  • 在Ubuntu 14.04上运行yarn install->生成yarn.lock
  • 将此yarn.lock复制到Mac计算机上
  • 在Ubuntu 14.04上使用相同的nodejs版本,运行yarn install --frozen-lockfile

并且安装失败。但是,当我在Mac上使用其他版本的nodejs时,运行yarn install --frozen-lockfile是可行的。

所以这意味着:

  • 相同的yarn.lock文件
  • 相同nodejs

不能保证安装可以在所有操作系统上正常工作吗?

1 个答案:

答案 0 :(得分:0)

  

yarn.lock除非所有依赖项都支持跨平台,否则它将无法在其他平台上100%工作

仅检查我的yarn.lock他们添加了一些基于操作系统的依赖关系,以我为例,添加了is-windows模块

检查您的所有软件包是否支持跨平台,因为有时许多软件包是特定于平台的,您可以检查该软件包的packages.json中的所有依赖项

OR

如果您在其他操作系统上使用该应用程序,请不要按yarn.lock