仅具有全局安装依赖项的 NPM 包?

时间:2021-02-19 04:11:45

标签: npm-install

如果一个 NPM 包既被设计为全局命令又被设计为其他应用程序/包的依赖项,我是否可以针对不同的安装情况指定其依赖项?

#zh-CN作为假想一个 NPM 包既可以作为命令,也可以作为其他应用程序或包的依赖项。那么,在 package.json 中是否可以为不同的安装模式指定不同的依赖项?

例如,包 mypkg 在作为全局命令运行时依赖于包 foo。但是,在安装 mypkg 并将其用作其他应用程序/包的依赖项时,foo 是不必要的。如何防止foo 安装时-g | --global 选项不存在?

#zh-CN 例如,mypkg它自称运行时,需要依赖程序foo;但如果仅作为其他应用或包的依赖项,则不依赖foo。还有什么可以在非网络安装模式下,阻止安装foo

换句话说,我的意思是
#zh-CN 意,我的英文是

# Please DO NOT install **foo**.
npm install mypkg

# Please DO install **foo**.
npm install --global mypkg

1 个答案:

答案 0 :(得分:0)

简单的答案是,仅在需要时全局安装任何软件包。每当包或项目需要另一个包作为依赖项运行时,请将其安装为依赖项。这样,每当有人安装包并尝试通过 npm 脚本运行它时,该包都会正常运行,因为您已经指定了正确的版本和必须安装的包,以便脚本能够无错误地运行。