gpt4 book ai didi

node.js - 如何 npm install 只保存对 package.json 的依赖?

转载 作者:IT老高 更新时间:2023-10-28 22:02:23 26 4
gpt4 key购买 nike

我正在向 package.json 添加依赖项,该依赖项将用作虚拟机配置过程的一部分。因此,我实际上不需要在本地安装模块,因为配置程序会在 VM 内为我完成这些工作。那么有什么办法可以做到以下几点:

npm install --save <module>

这样它package.json 中为最新版本的模块创建依赖项,而无需实际下载模块或创建 node_modules 文件夹?

--dry-run 选项关闭,因为它不会创建 node_modules 文件夹,但也不会写入 package.json 要么。

目前,每次需要在重新配置 VM 之前更新软件包时,我都会手动执行以下操作:

rm -rf node_modules

造成这种情况的其他原因可能包括能够在低带宽情况下轻松构建 package.json 文件,例如网络共享,您知道最终会需要该模块但不想要节省带宽。

最佳答案

正在寻找解决方案。还没有找到,然后制作了一个脚本,将依赖项(最新或指定版本)添加到 package.json 文件中,从而跳过安装过程。

https://www.npmjs.com/package/add-dependencies

安装

如果不与 npx 一起使用(见下文):

$ npm install add-dependencies [-g]

用法

运行:

$ add-dependencies [package_file] <dependencies> [target] [--no-overwrite]

或使用 npx:

$ npx add-dependencies [package_file] <dependencies> [target] [--no-overwrite]

其中 dependencies 是由空格划分的依赖项列表,target 是以下之一:

  • --dev/--save-dev/-D for devDependencies
  • --peer/--save-peer/-P for peerDependencies
  • --optional/--save-optional/-O for optionalDependencies

如果没有传递 target 参数,则将依赖项写入 dependencies

如果没有传递 package_file 参数,脚本会在当前工作目录中搜索 package.json 文件。

使用 --no-overwrite 标志来防止 package.json 中已经存在的包被覆盖。

例子:

$ add-dependencies /home/user/project/package.json moment@2.0.0 react@16.8 redux eslint --dev

或使用 npx:

$ npx add-dependencies /home/user/project/package.json moment@2.0.0 react@16.8 redux eslint --dev

希望这可以帮助其他人。

关于node.js - 如何 npm install 只保存对 package.json 的依赖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40535328/

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