Не работает Pug в VS Code

Помогите пожалуйста! Второй день сижу, не могу решить проблему. Установил 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

1 лайк

Да лааааааадно, я в шоке сколько необходимо сил и манипуляций для того, чтобы это заработало, а главное никто ведь это нигде не прописывал. На оф. страница Pug установка через npm install pug. Спасибо, дружище! Не знаю, что мы сделали и как это в итоге получилось, но это круто, спасибо!

Шик.

Ну тут проблема в изначально неверной и непроверенной мысли о том как ставить npm.

В сумме правду говоришь что нюансов намного больше чем описано в непосредственной документации. И только живые люди могут помочь.

Всегда пожалуйста. Захаживай еще.

1 лайк

Чтобы gulp заработал, нужно сначала его установить глобально npm install gulp -g. Потом нужно перезагрузиться (у меня часто было что винда не подхватывала глобально установленные выполняемые npm пакеты). После перезагрузки должно заработать.


И на будущее такие вопросы лучше оформлять отдельной темой чтобы сохранить обсуждение предыдущего вопроса “чистым”.