如何解决仅具有全局安装依赖项的 NPM 包?
如果一个 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
解决方法
简单的答案是,仅在需要时全局安装任何软件包。每当包或项目需要另一个包作为依赖项运行时,请将其安装为依赖项。这样,每当有人安装包并尝试通过 npm 脚本运行它时,该包都会正常运行,因为您已经指定了正确的版本和必须安装的包,以便脚本能够无错误地运行。>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。