【问题标题】:why package-lock.json is not created为什么没有创建 package-lock.json
【发布时间】:2018-09-04 11:24:31
【问题描述】:

npm 文档说

对于任何 npm 修改 node_modules 树或 package.json 的操作,都会自动生成 package-lock.json。

但是在 npm install package-lock.json 之后不存在。为什么?

【问题讨论】:

  • 您使用的是哪个版本的node?可能是一个过时的版本。
  • 你用的是什么版本的 npm?
  • 版本为 3.10.8

标签: node.js


【解决方案1】:

npm install package-lock.json 后不存在。

这是因为您使用的是npm v3.10.8,而package-lock.json 是在5.0.0 版本中引入的。

功能摘要 - 安装程序更改
* 一个新的、标准化的 lockfile 特性意味着跨包管理器的兼容性(package-lock.json),以及一种新的收缩包装格式和语义。 (#16441)

来源Feature Summary of npm of 5.0.0

您需要将 npm 更新为 5.0.0 以获取 package-lock.json。用于更新 npm

npm 更新 [-g] [...]

在你的情况下,它将是

npm 更新 -g npm

来源Update a package

【讨论】:

    【解决方案2】:

    您正在运行旧版本的 NPM。

    我相信他们在 npm 版本 5 中引入了锁定文件。

    尝试将 npm 升级到最新版本,它会创建您正在寻找的锁定文件。

    【讨论】:

    • npm install npm@latest -g之后的版本还是3.10.8
    • 你是用windows还是mac?
    • 如果你最初用node安装了npm,你应该可以运行sudo npm i -g npm@latest。如果这不起作用,我建议通过 brew brew update && brew install node && npm -g npm 安装 npm
    猜你喜欢
    • 2018-03-21
    • 1970-01-01
    • 1970-01-01
    • 2018-10-06
    • 2018-07-27
    • 2017-12-14
    • 2018-07-05
    • 2017-10-30
    相关资源
    最近更新 更多