npm install
встановлює залежність у вашому config.json config.
npm run build
запускає скрипт "build" та створив сценарій, який запускає вашу програму - скажімо, server.js
npm start
запускає сценарій "start", який потім буде "node server.js"
Важко точно сказати, в чому проблема, але в основному, якщо ви подивитеся на конфігурацію сценаріїв, я б припустив, що "build" використовує якийсь інструмент збирання для створення програми, тоді як "start" передбачає, що збірка була зроблена, але потім не вдасться, якщо файлу немає.
Напевно, ви використовуєте bower або grunt - я, мабуть, пам’ятаю, що типовий додаток для grunt визначав ці сценарії, а також «чистий» сценарій для видалення останньої збірки.
Інструменти побудови, як правило, створюють файл у папці bin /, dist / або build /, яку потім запускає сценарій запуску - наприклад, "node build / server.js". Якщо ваш npm start
збій не вдається, можливо, через те, що ви зателефонували npm clean
або схоже, щоб видалити останню збірку, щоб файл вашої програми відсутній, викликаючи збій npm.
Вихідний код npm build - торкніться обговорення в цьому запитанні - це в github, щоб ви могли подивитися, якщо вам подобається. Якщо ви запускаєте npm build
безпосередньо, і у вас визначений сценарій "build", він вийде з помилкою з проханням викликати ваш сценарій збірки, npm run-script build
тому що це не те саме, що npm run script
.
Я не зовсім впевнений, що npm build
робить, але, схоже, це пов’язано із сценаріями після встановлення та упаковки залежно. Я припускаю, що це може бути впевненим, що будь-які бібліотеки побудови сценаріїв CLI або рідні бібліотеки, необхідні залежностям, будуються для конкретного середовища після завантаження пакету. Це буде причиною посилання та встановлення виклику цього сценарію.