Как правило, вам нужно будет глобально установить любые команды, которые вы хотите использовать (без NPX). На самом деле это не ограничение NPM, а фундаментальный способ работы программ командной строки. ОС будет смотреть только в фиксированных предопределенных местоположениях, установленных в PATH. Это применимо к любому основанному на узле инструменту, такому как grunt
или ng
или как угодно.
(Хотя некоторые системы ищут исполняемые файлы относительно текущего рабочего каталога или могут быть настроены на это, обычно это нехороший или надежный метод, и NPM не полагается на такое поведение).
Для чего-то вроде Angular CLI установка в глобальном масштабе должна быть хорошей, и это то, что многие люди сделают. Как правило, если вы хотите выполнить команду, а не зависимость для проекта, вы можете установить ее глобально. Вы заметите, что на странице Angular CLI пример делает именно это.
Однако во многих случаях вам может потребоваться запустить команду из локального проекта. Возможно, для сценария сборки или чего-то еще, где вы хотите сохранить его изолированным. В этом случае вы вместо этого добавляете к своей команде префикс npx , который будет искать команды в локальном проекте.