繁体   English   中英

如何判断 npm 包是全局安装还是本地安装

[英]How to tell if npm package was installed globally or locally

我正在 windows7 上安装 grunt、node、npm、bower 和 grunt-cli。

说明说我应该使用 -g 标志为全局运行安装命令。

如何检查我在安装时是否使用了 -g 标志。 卸载它们并重新安装需要很多时间。

使用带有-g标志的list命令查看全局安装的所有软件包:

npm list -g

要检查是否全局安装了特定软件包,您可以提供软件包名称(在本例中为grunt ),如下所示:

npm list -g grunt

或者您可以使用grep过滤包名称:

npm list -g | grep grunt

来源: https : //docs.npmjs.com/cli/ls

npm list --depth 1 --global packagename > /dev/null 2>&1

然后,您可以检查退出状态以查看它是否已安装。 谢谢亚当蒙森

要检查是否全局安装了特定包,请执行:

npm list -g [package-name]

我们以“咕噜”为例。 如果它是全局安装的,您应该会看到类似这样的内容

C:\data\tryout\test1>npm list -g grunt
C:\Users\xxxxxxx\AppData\Roaming\npm
└── grunt@0.4.5

如果没有全局安装,你应该看到这样的

C:\data\tryout\test1>npm list -g grunt
C:\Users\xxxxxxx\AppData\Roaming\npm
└── (empty)

要检查本地是否安装了特定软件包,您可以执行与上述相同的命令,但不带 -g 参数。

来源: 如何检查 npm 包是全局安装还是本地安装

您可以使用以下命令列出所有全局包:

npm ls -g

或者使用以下命令检查特定包:

npm ls -g [package-name] 

例如: npm ls -g @angular/cli

在 Windows 中,我们使用以下命令来确定软件包是否已安装。 详情请参考图片。

npm list -g | find "create"

样本结果

从带有sindresorhus/is-installed-globally的包中

https://github.com/sindresorhus/is-installed-globally

用法:

const isInstalledGlobally = require('is-installed-globally');

// With `npm install your-package`
console.log(isInstalledGlobally);
//=> false

// With `npm install --global your-package`
console.log(isInstalledGlobally);
//=> true

当我不得不用我的包分发预构建的文件时,我发现这很有用: 如何发布带有分发文件的 npm 包? 使用这个包,我可以检查安装是本地的还是全局的,然后使用本地安装的相对路径, 如下所示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM