如何检测当前的npm包是否是全局的?

Zol*_*han 5 node.js npm

我想编写一些代码,只有在全局安装软件包时才会在npm postinstall上执行.是否有内置的解决方案来检测活动包是否全局安装?

如果没有那么什么是适用于任何操作系统的最佳解决方案?我目前唯一的想法是检查包的当前工作目录,并检查它是否在全局npm路径下.

Zol*_*han 5

我在这个repo 中找到了我正在寻找的解决方案。

解决方案是检查!!process.env.npm_config_global安装后脚本。只有在全局安装包时,该环境变量才会为真。

  • 至少在 NPM 3 中,没有设置这个 env 变量。 (2认同)