Помогите пожалуйста! Второй день сижу, не могу решить проблему. Установил Node, установил пакеты (и через Node и через VSC), установил Gulp, установил Pug, как только хочу переводить в HTML выходит ошибка, скрин прилагаю. В чем проблема, гуглил ничего не смог сделать.
Пробуй в командной строке
npm install pug-cli -g
Потом рестарт винды, потом снова команду которая приводила к ошибке.
Ты вызываешь коммандлайновую утилиту которая не установлена.
Я знаком с темой ребута (что не работают глобально установленные бигарники) не по наслышке. Посидел в свое время с этим вопросом
К сожалению ничего не изменилось. Ошибка все та же. Я вообще правильно создаю html документ из pug?
Да все верно.
Еще один нюанс. Имя пользователя у тебя на на русском или английскими буквами написано?
Многие утилиты не работают если в путях рабочей папки или домашней папки пользователя есть нелатинские символы И пробел.
Грешу на русские буквы или пробелы в имени пользователя. Если не лень, сделай пользователя и рабочую папку без пробелов и чисто латинскими символами.
Есть еще способ решить проблему. Напишу отдельным комментарием
Можно установить бинарник pug
локально и запускать с помошью npm
скриптов
npm install pug --save-dev
в package.json
добавь в секцию "scripts"
скрипт “localPug”
"scripts": {
"localPug": "pug -w index.pug"
}
и запусти в коммандной строке
npm run localPug
Этот подход работает потому что npm run SCRIPT_NAME
ищет бинарники не только в переменной окружения, но и среди локально установленных бинарников в node_modules
.
Таким образом все зависимости от коммандлайновых утилит можно хранить в package.json
. Валидный и актуальных подход в реальных проектах.
Та же самая фигня. Давай дальше разбираться. Теперь я грешу на сам shell. Попробуй запустить pug
в cmd
. Для этого:
Жми виндовое меню, найди команду cmd
, запусти ее - увидишь терминал. С нем попробуй просто запустить pug
(все равно в какой папке).
Это стандартная виндовая программа для запуска коммандлайновых утилит.
Какая команда используется для компиляции из Pug в HTML? pug -w *.pug, верно? Пишет что команда “pug” не является внутренней или внешней командой
Верно.
Лол. Я все это время думал что бинарник устанавливается как npm i pug
а нужно было npm i pug-cli
.
Теперь нужно вернуть назад в наших рассуждениях и сделать все шаги как в Не работает Pug в VS Code но с pug-cli
.
Пока рано. С нашим упорством все получится.
Упущен флаг -g
. Нужно:
npm i pug-cli -g
Да лааааааадно, я в шоке сколько необходимо сил и манипуляций для того, чтобы это заработало, а главное никто ведь это нигде не прописывал. На оф. страница Pug установка через npm install pug
. Спасибо, дружище! Не знаю, что мы сделали и как это в итоге получилось, но это круто, спасибо!
Шик.
Ну тут проблема в изначально неверной и непроверенной мысли о том как ставить npm
.
В сумме правду говоришь что нюансов намного больше чем описано в непосредственной документации. И только живые люди могут помочь.
Всегда пожалуйста. Захаживай еще.
Чтобы gulp
заработал, нужно сначала его установить глобально npm install gulp -g
. Потом нужно перезагрузиться (у меня часто было что винда не подхватывала глобально установленные выполняемые npm пакеты). После перезагрузки должно заработать.
И на будущее такие вопросы лучше оформлять отдельной темой чтобы сохранить обсуждение предыдущего вопроса “чистым”.