gpt4 book ai didi

javascript - npm 从 package-lock.json 文件中创建一个 package.json 文件?

转载 作者:数据小太阳 更新时间:2023-10-29 05:09:08 25 4
gpt4 key购买 nike

我有一个项目恰好有一个完整的 node_modules 目录和一个 package-lock.json 文件,但没有 package.json 文件。

所以我运行 npm init 来创建一个新的 package.json 文件,但现在我正在努力让它包含项目的依赖项。

有没有办法让 npm 读取 node_modules 目录或 package-lock.json 并创建匹配的 package.json 文件?

最佳答案

package-lock.json 不包含足够的信息来生成准确的 package.json 文件。它包含所有已安装包的列表和版本,但它还在列表中包含子依赖项。

您可以阅读信息并创建一个新的依赖项列表,但您最终会得到所有依赖项的列表,包括您不直接依赖的子依赖项。 dependenciesdevDependencies 之间也没有区别。

有趣的是,npm 似乎确实能够在一段时间内记住在给定目录中安装了哪些包(它可能缓存在某个地方)。如果锁定文件最初是在您的计算机上创建的,一个简单的 npm init 可能 会为您提供一个准确的 package.json 文件。

如果你真的想生成一个 JSON 格式的所有包的列表,你可以使用这样的脚本:

var dependencies = require('./package-lock.json').dependencies;
var list = {};

for (var p of Object.keys(dependencies)) {
list[p] = dependencies[p].version;
}
console.log(JSON.stringify(list, null, ' '));

关于javascript - npm 从 package-lock.json 文件中创建一个 package.json 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53858814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com