为现有项目创建/更新 package.json

Posted

技术标签:

【中文标题】为现有项目创建/更新 package.json【英文标题】:Create/update package.json for existing project 【发布时间】:2018-05-14 15:55:09 【问题描述】:

我有一个很久以前就开始的 NodeJS 项目。在我理解 --save 标志之前,它已经安装了 许多 包。几个版本前 npm 决定它会删除 package.json 中未提及的包(这是一件疯狂的事情)。这会导致一个可怕的问题。

现在我明白了 --save 并正确使用它。但是,我想不出用未列出的包更新 package.json 的方法。

有没有办法让 npm 或其他程序查看项目并添加缺失的依赖项?如果它完全重新创建了依赖结构,我会很高兴。

建议?

【问题讨论】:

也许这有帮助:***.com/questions/42658010/… 【参考方案1】:

更新:npm 3.5+

从 package.json 中删除所有内容并运行:npm init --yes

这将重新创建带有依赖项的 package.json,而不是 devdependencies。

npm 3

如果你在基于 Unix 的系统上,从你的项目根文件夹中,并且已经创建了一个 package.json 文件(npm init,正如你提到的),运行:

npm install $(ls node_modules/) --save

它会重新安装包,并将它们作为依赖项保存到 package.json 中

【讨论】:

那一定要安装相同的版本吗? (我不确定 npm 是否会选择现有版本) 此建议有效,但还不够。它将从当前目录获取链接。它不会更新整个项目。如果你错过了一个目录,npm 经常会删除不在 package.json 中的组件。

以上是关于为现有项目创建/更新 package.json的主要内容,如果未能解决你的问题,请参考以下文章

npm与package.json

package.json 与 package-lock.json 的区别

你啥时候提升项目中的 package.json 版本?

npm 创建 node.js 项目

vue 现有项目 加入 vuepress

vscode package.json 字符串与模式不匹配