我安装了 eslint 并注意到它初始化了一个 package-lock.json 文件并在我的 node_module 文件夹中安装了一堆我没有请求的模块。我不确定为什么。
更重要的是,我的 package.json 和 package-lock.json 列出的依赖项之间存在差异。我的理解是 package.json 列出了我安装的依赖项及其 semver 和 package-lock 确保我使用的确切版本也被安装模块的其他人使用。
所以我的问题是:
谢谢
最佳答案
package.json
上列出的依赖项是您使用 npm install
安装的吗? .
当你运行 npm install eslint
, npm 会在 dependencies
中添加一行使用 eslint 和已安装的版本。
"dependencies": {
"eslint": "^7.5.0"
}
package-lock.json
文件包含所有依赖项-您安装的依赖项和其他软件包所需的依赖项。例如,eslint
有 36 Dependencies (检查依赖项选项卡)。要安装特定版本的 eslint,您应该执行
npm install eslint@7.5.0
. package.json
文件现在将引用该特定版本:"dependencies": {
"eslint": "7.5.0"
}
请注意 ^ 符号未显示。该符号表示与版本兼容并遵循 semver。您可以查看其他选项here .
关于javascript - 为什么 package-lock.json 列出的依赖项与 package.json 不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63153226/