Краткий ответ:
С любым локально установленным пакетом npm
(т. Е. Как devDependancy
проекта) вы не должны ожидать, что сможете запустить CLI пакета следующим образом <package_name> --help
. Вам нужно будет указать полный путь к модулю в каталоге .node_moduels/
, как @netweb показал в своем ответе:
./node_modules/.bin/stylelint --help
Страница документации IMHO Stylelint является немного запутывает в этом отношении, поэтому я и задал вопрос.
Более длинный ответ:
Для возможности запуска stylelint --help
или любого другого npm
CLI, вам придется † установить пакет глобально, то есть: <package_name> -global
. В этом процессе создается символическая ссылка, поэтому ключевое слово <package_name>
можно вызывать в любом каталоге системы.
Однако есть категория инструментов (например, линтеры), где обычно считается плохой практикой для их глобальной установки. Это связано с тем, что различные проекты могут иметь противоречивые требования, и в этом случае быстро установить все эти инструменты в глобальном масштабе становится проблематичным. Лучше всего, чтобы эти инструменты были установлены на уровне проекта как devDependancy
, например, так: npm install <package_name> --save-dev
.
Если вы настраиваете npm
сценарии или системы непрерывной интеграции, то вы бы вызвали эти инструменты 'CLI, включая путь к локальной установке: ./node_modules/.bin/stylelint "**/*.css"
Однако в терминале запись пути заполнения каждый раз, когда вы хотите вызвать инструмент, болезненна, поэтому вместо этого, вы можете использовать [npx][4]
для вызова локально установленного модуля:
npx stylelint --help
† npm-link , а также символические ссылки на ваш локальный пакет, как если бы он былглобально установлен. Однако, за исключением некоторых определенных сценариев , очень маловероятно , если вы хотите сделать глобально доступным локальный devDependancy
.