我正在Windows 7上安装Grunt, Node.js, npm, Bower和Grunt -cli。

说明说,我应该运行带有-g标志的安装命令,表示全局。

我如何检查我是否在安装时使用了-g标志?卸载和重新安装需要很长时间。


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

NPM list

要检查一个特定的包是否被全局安装,你可以提供包的名称(在这种情况下是grunt),如下所示:

npm 列表 -g 浅层

或者你可以使用grep来过滤包名:

NPM list -g | grep grunt

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


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

npm list -g [package-name]

让我们以Grunt为例。如果它是全局安装的,你应该看到类似这样的东西:

npm list -g grunt

输出:

C:\Users\xxxxxxx\AppData\Roaming\npm
└── grunt@0.4.5

如果它不是全局安装的,您应该会看到如下内容

npm list -g grunt

输出:

C:\Users\xxxxxxx\AppData\Roaming\npm
└── (empty)

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

如何检查npm包是否在全局或本地安装。


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

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


你可以用下面的命令列出所有的全局包:

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包与分发文件一起发布?使用这个包,我可以检查安装是本地的还是全局的,然后为本地安装使用相对路径,如下所示。