Помилка запуску сценарію відсутня при запуску npm start


267

Я отримую цю помилку, коли намагаюся налагодити додаток у вузлі за допомогою команди npm start.

Помилка:

npm ERR! Помилка помилки Windows_NT 6.3.9600 npm! argv "C: \ Program Files \ nodejs \\ node.exe" "C: \ Program Files \ nodejs \ node_modules \ npm \ bin \ npm-cli.js" "start" npm ERR! ERR вузла v0.12.7 npm! npm v2.11.3

npm ERR! відсутній сценарій: запустити npm ERR! npm ERR! Якщо вам потрібна допомога, ви можете повідомити про цю помилку за адресою: npm ERR! https://github.com/npm/npm/isissue npm ERR! Будь ласка, додайте наступний файл із будь-яким запитом підтримки: npm ERR! C: \ користувачів \ andrmoll.NORTHAMERICA \ Документи \ GitHub \ SVIChallenge \ npm-debug.log

З файлу налагодження:

Повторний стек Помилка: сценарій відсутній: старт

4 багатослівний стек під час запуску (C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ run-script.js: 142: 19)

4 багатослівний стек у C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ run-script.js: 58: 5

4 багатослівний стек на C: \ Program Files \ nodejs \ node_modules \ npm \ node_modules \ read-package-json \ read-json.js: 345: 5

4 багатослівний стек у checkBinReferences_ (C: \ Program Files \ nodejs \ node_modules \ npm \ node_modules \ read-package-json \ read-json.js: 309: 45)

4 багатослівний стек у фіналі (C: \ Program Files \ nodejs \ node_modules \ npm \ node_modules \ read-package-json \ read-json.js: 343: 3)

4 багатослівній стек тоді (C: \ Program Files \ nodejs \ node_modules \ npm \ node_modules \ read-package-json \ read-json.js: 113: 5)

4 багатослівний стек у C: \ Program Files \ nodejs \ node_modules \ npm \ node_modules \ read-package-json \ read-json.js: 300: 12

4 багатослівний стек на evalmachine.:334:14

4 багатослівний стек на C: \ Program Files \ nodejs \ node_modules \ npm \ node_modules \ graceful-fs \ graceful-fs.js: 102: 5

4 багатослівний стек у FSReqWrap.oncomplete (evalmachine.:95:15)


4
чи startвизначений у вашому package.jsonфайлі сценарій ?
Роббі

Відповіді:


381

Схоже, ви, можливо, не визначили startсценарій у вашому package.jsonфайлі або ваш проект не містить server.jsфайлу.

Якщо в корені вашого пакета є файл server.js, то npm за замовчуванням буде командою start node server.js.

https://docs.npmjs.com/misc/scripts#default-values

Ви можете або змінити ім'я свого сценарію програми, server.jsабо додати наступне до свогоpackage.json

"scripts": {
    "start": "node your-script.js"
}

Або ... ви могли просто бігти node your-script.jsпрямо


15
Я намагаюся зрозуміти, у чому потреба, startколи маєш main?
Вал

8
@ Val main- це точка входу в модуль, коли ви використовуєте його require('your-module')для включення в інший проект - docs.npmjs.com/files/package.json#main . scripts.startце сценарій, який слід запускати npm при введенні npm start.
Роббі

Незрозуміло, чому npm initне запитує про стартовий скрипт. Або принаймні не використовується mainяк стартовий скрипт.
одинадцять

Більше нічого не потрібно робити, просто додайте "script": {"prestart": "npm install", "start": "http-server -a localhost -p 8000 -c-1"},
SantoshK

У моєму випадку це працює добре .. "script": {"test": "echo \" Помилка: тест не вказано \ "&& exit 1", "start": "parcel index.html", "build": "parcel build --public-url. index.html "},
Udit Sharma

41

Ця помилка також трапляється, якщо ви додали другий ключ "скрипт" у файл package.json. Якщо ви просто залишите один "скрипт" ключ у package.json, помилка зникає.


2
Ця відповідь може бути не точною відповіддю, але, безумовно, допомогла мені знайти, чому npm startце не працює.
Оброміос

2
Це насправді точна відповідь. Якщо ваш файл package.json містить дві записи для сценаріїв, він вибере другий і проігнорує все, що ви зазначили в першому. І ви отримаєте повідомлення про помилку у питанні.
Джефрі Хамманссон

30

У моєму випадку це не спрацювало, тому що я використовував "scripts" двічі . Після поєднання - це нормально.

"scripts": {
  "test": "make test",
  "start": "node index.js"
}

це index.js насправді файл? чи щось нам потрібно створити?
tomsmithweb

@tomsmithweb, як я пам'ятаю - це був мій існуючий файл.
Дмитрій Дорогонов

6

Будь ласка, використовуйте нижченаведений рядок коду в об’єкті скрипту, який є в package.json

"scripts": {
    "start": "webpack-dev-server --hot"
}

Для мене це спрацювало чудово.


1
Не працювало для мене. Ви все ще використовуєте $ npm run serve?
агент Зебра

2

Перевірте файл package.json, який має властивість "script", чи немає. якщо не оновити властивість сценарію, як це

{
  "name": "csvjson",
  "version": "1.0.0",
  "description": "upload csv to json and insert it into MongoDB for a single colletion",
  "scripts": {
    "start": "node csvjson.js"
  },
  "dependencies": {
    "csvjson": "^4.3.4",
    "fs": "^0.0.1-security",
    "mongodb": "^2.2.31"
  },
  "devDependencies": {},
  "repository": {
    "type": "git",
    "url": "git+https://github.com/giturl.git"
  },
  "keywords": [
    "csv",
    "json",
    "mongodb",
    "nodejs",
    "collection",
    "import",
    "export"
  ],
  "author": "karthikeyan.a",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/homepage/issues"
  },
  "homepage": "https://github.com/homepage#readme"
}

2

Якщо ви використовуєте babelify та watchify, перейдіть до:

package.json

і додайте це в "сценарії":

"scripts": {
    "start": "watchify the-path-to-your-source-jsx-file -v -t [ babelify --presets [ react ] ] -o the-path-to-your-output-js-file"
}

Прикладом може бути:

"scripts": {
    "start": "watchify src/main.jsx -v -t [ babelify --presets [ react ] ] -o public/js/main.js"
}

Завдяки Марку Прайсу від DevSlopes


2

У моєму випадку, якщо це проект реагування, ви можете спробувати оновити npm, а потім оновити react-cli

npm -g install npm@version
npm install -g create-react-app

потім створіть-реагуйте-додаток my_app. Завдяки цьому працює
ugali soft

2

У мене виникла ця проблема під час встановлення react-js вперше: Цей рядок допоміг мені вирішити проблему:

npm rm -g create-react-app
npm install -g create-react-app
npx create-react-app my-app

джерело: https://stackoverflow.com/a/59260128/11652661


1

слід уникати використання нестабільної версії npm.

Я помітив одне, що полягає у випуску на базі версії npm, версія npm 4.6.1 є стабільною, але 5.x нестабільна, оскільки package.json буде налаштований ідеально під час створення за допомогою шаблону за замовчуванням, якщо це стабільна версія, і тому ми вручну не робимо ' не потрібно додати ці сценарії.

Я отримав нижче випуск на npm 5, тому я перейшов до npm 4.6.1, тоді він працював на мене,


ПОМИЛКА: npm 5 ще не підтримується


Схоже, ви використовуєте npm 5, який нещодавно був випущений.

На жаль, Create React Native App ще не працює з npm 5, на жаль. Ми рекомендуємо використовувати npm 4 або пряжу, поки деякі помилки не будуть вирішені.

Ви можете слідкувати за відомими проблемами з npm 5 за адресою: https://github.com/npm/npm/isissue/16991


Devas-MacBook-Air: SampleTestApp deva $ npm start npm ERR! відсутній сценарій: почати


"нестабільна версія"
Sv443

1

Інша можлива причина: ви використовуєте npm, коли ваш проект ініціалізується в пряжі. (Я це робив сам). Так було б yarn startзамість npm start.


1

Зараз глобально встановлювати додаток create-react-app у всьому світі. Замість цього видаліть глобально встановлений пакет create-react-app, зробивши: npm uninstall -g create-react-app (можливо, вам доведеться видалити папку пакета, якщо ця команда не працювала для вас. Деякі користувачі повідомили, що потрібно було видалити папки. вручну)

Тоді ви можете запустити npx create-react-app my-app, щоб знову створити реагувати додаток.

посилання: https://github.com/facebook/create-react-app/isissue/8086


0

Переконайтесь, що СИСТЕМИ ВКЛЮЧЕНІ

var app = express();
app.set('port', (process.env.PORT || 5000));

BLAL BLA BLA І В КРІНІ ВАМ ЦЕЙ

app.listen(app.get('port'), function() {
    console.log("Node app is running at localhost:" + app.get('port'))
});

Все ще newbee у вузлі js, але це спричинило більше цього.


0

Погляньте на свого клієнта / package.json . Ви повинні мати ці сценарії

"scripts": {
  "start": "react-scripts start",
  "build": "react-scripts build",
  "test": "react-scripts test --env=jsdom",
  "eject": "react-scripts eject"
}

0

У вас може бути стара (глобальна) установка npm, що спричиняє проблему. Станом на 12/19, npm не підтримує глобальні установки.

Спочатку видаліть пакунок за допомогою:
npm uninstall -g create-react-app

Деяким користувачам osx / Linux може знадобитися також видалити старий npm за допомогою:
rm -rf /usr/local/bin/create-react-app

Це єдиний підтримуваний метод для генерування проекту:
npx create-react-app my-app

Нарешті ви можете запустити:
npm start


-1
"scripts": {
  "prestart": "npm install",
  "start": "http-server -a localhost -p 8000 -c-1"
}

додайте цей фрагмент коду у свою package.json , залежно від вашої власної конфігурації.


-1

У мене те саме питання. Я намагаюся записати код у файл package.json, як показано нижче

    "scripts": {
    "start": "<your-script-file>.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },

-2

Я вирішив своє. Це не помилка NPM, пов’язана з поведінкою проксі.

Якщо ви за проксі-сервером,

MAC
 1.  Goto System Preference (gears icon on your mac)
 2.  click your network
 3.  click advanced
 4.  click proxy
 5.  check excludes simple hostnames
 6.  add this line below (Bypass Proxy Settings...) "localhost, localhost:8080"

refer to the npm echo: "Project is running at http://localhost:8080/"

Windows
 1.  Goto your browser Proxy Settings (google it)
 2.  check Bypass local address
 3.  add this line below "localhost, localhost:8080"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.