[英]How to detect if the current npm package is global?
我想编写一些代码,只有在全局安装软件包时才会在npm postinstall上执行。 是否有内置的解决方案来检测活动包是否全局安装?
如果没有那么什么是适用于任何操作系统的最佳解决方案? 我目前唯一的想法是检查包的当前工作目录,并检查它是否在全局npm路径下。
我找到了我在这个回购中寻找的解决方案。
解决方案是在postinstall脚本中检查!!process.env.npm_config_global
。 只有在全局安装软件包时,该环境变量才会生效。
您可以使用require.resolve()
为您提供路径。 您可以比较给定的路径,看它是安装在localy还是全局安装。 您可以使用npm root -g
来获取全局模块的路径。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.