指定应在 package.json 内安装没有可选依赖项的包

Specify that a package should be installed without optional dependencies within package.json

我为 Discord 编写了一个聊天机器人,它使用 discord.io 库。虽然此库支持与语音相关的自动化,但可以使用 --no-optional 开关阻止安装这些功能,从而节省大量带宽和时间。

npm install discord.io --save --no-optional

到目前为止一切顺利,但无论我是否使用该选项,在 package.json 安装了可选依赖项的版本和没有安装的版本之间没有区别,因此当有人继续部署我的机器人时他们会下载并安装所有我不使用的不必要的语音相关模块。

当项目文件夹中 npm install 为 运行 时,是否有任何解决方案可以在没有可选依赖项的情况下安装所述包?

正如 npm issue #14185 中所报告的那样,目前这似乎是不可能的。您可以订阅该错误报告以跟踪此事的进展(如果有的话)。