Выбор ответа Junior Пакеты и зависимости обновлено
Почему vite запускается из npm run
Вопрос
В терминале команда vite пишет «command not found», а npm run dev со скриптом "dev": "vite" работает. Почему?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: npm run добавляет nodemodules/.bin в PATH. Пакеты с бинарями кладут ссылки в nodemodules/.bin, и npm на время скрипта дописывает эту папку в PATH.
Варианты ответа
- npm run запускает скрипты в изолированном Docker-контейнере
- npm run ищет команду в глобально установленных пакетах
- Скрипты в package.json выполняются в Node.js, а не в shell
- npm run добавляет
node_modules/.binв PATHправильный ответ
Разбор
Пакеты с бинарями кладут ссылки в node_modules/.bin, и npm на время скрипта дописывает эту папку в PATH. Из терминала то же самое запускается через npx vite.
- Docker тут ни при чём.
- Глобальной установки vite нет, иначе работала бы и прямая команда.
- Скрипты выполняются в shell (sh или cmd), просто с расширенным PATH.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.