Ответы:
Используйте 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
проверять, была ли крачка установлена глобально, как будтоnpm install -g tern
grep
кажется довольно надежным решением, учитывая комментарии о выходе npm с ошибкой из-за неудовлетворенных зависимостей
npm list --depth 1 --global packagename > /dev/null 2>&1
Затем вы можете проверить состояние выхода, чтобы увидеть, установлен он или нет. Спасибо Адам Монсен .
--depth 1
! это то, что я искал. На самом деле я использую сейчасnpm list --depth 0 -g
$?
всегда возвращается 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.
source: Как проверить, был ли пакет npm установлен глобально или локально .
Из вашего пакета с 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
. Вот более подробный пример .