Answers:
使用list
带有-g
标志的命令来查看全局安装的所有软件包:
npm list -g
要检查是否在全球范围内安装了特定的软件包,可以提供软件包的名称(grunt
在这种情况下),如下所示:
npm list -g grunt
或者您可以使用grep
来过滤软件包名称:
npm list -g | grep grunt
资料来源:https : //docs.npmjs.com/cli/ls
npm list --depth 0 --global tern
检查过tern是否已在全球范围内安装,就像npm install -g tern
grep
鉴于有关npm由于依赖关系未满足而退出并出现错误的评论,这似乎是一个相当可靠的解决方案
要检查是否在全局范围内安装了特定的软件包,请执行:
npm list -g [package-name]
让我们以“咕unt”为例。如果它是全局安装的,您应该会看到类似以下的内容
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参数。
从您的包裹中 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包?使用此软件包,我可以检查安装是本地安装还是全局安装,然后使用相对路径进行本地安装,如下所示。
--depth
。例如:npm list --depth 1 --global csats-mturk > /dev/null 2>&1
。这是一个更详细的示例。