Błąd uruchamiania skryptu podczas uruchamiania npm start

267

Otrzymuję ten błąd podczas próby debugowania aplikacji mojego węzła za pomocą polecenia npm start.

Błąd:

npm ERR! Windows_NT 6.3.9600 npm ERR! argv "C: \ Program Files \ nodejs \\ node.exe" "C: \ Program Files \ nodejs \ mod_węzła \ npm \ bin \ npm-cli.js" "start" npm ERR! węzeł v0.12.7 npm ERR! npm v2.11.3

npm ERR! brakujący skrypt: uruchom npm ERR! npm ERR! Jeśli potrzebujesz pomocy, możesz zgłosić ten błąd pod adresem: npm ERR! https://github.com/npm/npm/issues npm ERR! Do każdego żądania pomocy technicznej dołącz następujący plik: npm ERR! C: \ Users \ andrmoll.NORTHAMERICA \ Documents \ GitHub \ SVIChallenge \ npm-debug.log

Z pliku debugowania:

pełny stos Błąd: brak skryptu: start

4 pełny stos przy uruchomieniu (C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ run-script.js: 142: 19)

4 pełny stos na C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ run-script.js: 58: 5

4 pełny stos na C: \ Program Files \ nodejs \ node_modules \ npm \ node_modules \ read-package-json \ read-json.js: 345: 5

4 pełny stos na checkBinReferences_ (C: \ Program Files \ nodejs \ node_modules \ npm \ node_modules \ read-package-json \ read-json.js: 309: 45)

4 pełny stos na końcu (C: \ Program Files \ nodejs \ node_modules \ npm \ node_modules \ read-package-json \ read-json.js: 343: 3)

4 pełny stos w tym czasie (C: \ Program Files \ nodejs \ node_modules \ npm \ node_modules \ read-package-json \ read-json.js: 113: 5)

4 pełny stos na C: \ Program Files \ nodejs \ node_modules \ npm \ node_modules \ read-package-json \ read-json.js: 300: 12

4 pełne stosy na evalmachine.:334:14

4 pełny stos na C: \ Program Files \ nodejs \ node_modules \ npm \ node_modules \ graceful-fs \ graceful-fs.js: 102: 5

4 pełne stos na FSReqWrap.oncomplete (evalmachine.:95:15)

Andrew Moll
źródło
4
czy masz startskrypt zdefiniowany w swoim package.jsonpliku?
Robbie,

Odpowiedzi:

381

Wygląda na to, że nie zdefiniowałeś startskryptu w package.jsonpliku lub twój projekt nie zawiera server.jspliku.

Jeśli w katalogu głównym pakietu znajduje się plik server.js, wówczas npm ustawi domyślnie polecenie start na węzeł server.js.

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

Możesz zmienić nazwę skryptu aplikacji server.jslub dodać do niego następujące elementypackage.json

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

Lub ... możesz po prostu biegać node your-script.jsbezpośrednio

Robbie
źródło
15
Staram się zrozumieć, po co ci to, startkiedy masz main?
Val
8
@Val mainjest punktem wejścia do modułu, gdy używasz go require('your-module')do włączenia do innego projektu - docs.npmjs.com/files/package.json#main . scripts.startto skrypt uruchamiany przez npm podczas pisania npm start.
Robbie,
Niejasne, dlaczego npm initnie pyta o skrypt startowy. Lub przynajmniej nie używa mainjako skryptu startowego.
11
Nie trzeba nic więcej robić, wystarczy dodać „skrypty”: {„prestart”: „npm install”, „start”: „http-server -a localhost -p 8000 -c-1”},
SantoshK
W moim przypadku działa dobrze. „Skrypty”: {„test”: „echo \” Błąd: nie określono testu \ ”i& wyjście 1”, „start”: „parcel index.html”, „build”: „paczka build --public-url. index.html "},
Udit Sharma
41

Ten błąd występuje również, jeśli dodasz drugi klucz „script” w pliku package.json. Jeśli pozostawisz tylko jeden klucz „script” w pliku package.json, błąd zniknie.

Plamen Petkov
źródło
2
Ta odpowiedź może nie być dokładną odpowiedzią, ale z pewnością pomogła mi ustalić, dlaczego npm startnie działa.
Obromios,
2
To właściwie dokładna odpowiedź. Jeśli plik package.json zawiera dwa wpisy dla skryptów, wybierze drugi i zignoruje wszystko, co zauważyłeś w pierwszym. Otrzymasz komunikat o błędzie w pytaniu.
JeffreyHammansson
30

W moim przypadku nie działało, ponieważ użyłem "scripts" dwa razy . Po połączeniu - jest w porządku.

"scripts": {
  "test": "make test",
  "start": "node index.js"
}
Дмитрий Дорогонов
źródło
czy index.js jest rzeczywiście plikiem? czy coś, co musimy stworzyć?
tomsmithweb
@tomsmithweb, jak pamiętam - był to mój istniejący plik.
Дмитрий Дорогонов
6

Użyj poniższego wiersza kodu w skrypcie znajdującym się w pliku package.json

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

Dla mnie działało idealnie dobrze.

Promień
źródło
1
Nie działało dla mnie. Nadal używasz $ npm run serve?
Agentka Zebra,
2

sprawdź, czy plik package.json ma właściwość „scripts”, czy nie. jeśli nie, zaktualizuj właściwość skryptu w ten sposób

{
  "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"
}
KARTHIKEYAN.A
źródło
2

Jeśli używasz babelify i watchify, przejdź do:

pakiet.json

i dodaj to w „skryptach”:

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

Przykładem może być:

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

Dzięki Mark Price z DevSlopes

drjorgepolanco
źródło
2

W moim przypadku, jeśli jest to projekt reagowania, możesz spróbować zaktualizować npm, a następnie uaktualnić reagować-cli

npm -g install npm@version
npm install -g create-react-app
Yream
źródło
następnie utwórz aplikację-reaguj na moją aplikację. Dzięki temu działa
ugali soft
2

Miałem ten problem podczas instalowania React-js po raz pierwszy: Ta linia pomogła mi rozwiązać problem:

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

źródło: https://stackoverflow.com/a/59260128/11652661

MbeforeL
źródło
1

powinien unikać używania niestabilnej wersji npm.

Zauważyłem jedną rzecz, która dotyczy problemu opartego na wersji npm, npm wersja 4.6.1 jest stabilna, ale 5.x jest niestabilna, ponieważ pakiet.json zostanie idealnie skonfigurowany podczas tworzenia z domyślnym szablonem, jeśli jest to stabilna wersja, więc ręcznie nie „ muszę dodać te skrypty.

Mam następujący problem na npm 5, więc obniżyłem wersję do npm 4.6.1, a potem zadziałało dla mnie,


BŁĄD: npm 5 nie jest jeszcze obsługiwany


Wygląda na to, że używasz npm 5, który został niedawno wydany.

Aplikacja Create React Native nie działa jeszcze z npm 5. Zalecamy stosowanie npm 4 lub przędzy, dopóki niektóre błędy nie zostaną usunięte.

Możesz śledzić znane problemy z npm 5 na: https://github.com/npm/npm/issues/16991


Devas-MacBook-Air: SampleTestApp deva $ npm start npm ERR! brakujący skrypt: start

Deva
źródło
„wersja niestabilna”
Sv443
1

Kolejny możliwy powód: używasz npm, gdy projekt jest inicjowany w przędzy. (Zrobiłem to sam). Tak byłoby yarn startzamiast npm start.

kbooth1000
źródło
1

Globalna instalacja aplikacji create-reag-app jest teraz odradzana. Zamiast tego odinstaluj globalnie zainstalowany pakiet Utwórz-zareaguj na aplikację, wykonując: npm odinstaluj -g Utwórz-Realizuj-aplikację (może być konieczne ręczne usunięcie folderu pakietu, jeśli to polecenie nie zadziałało. Niektórzy użytkownicy zgłosili, że musieli usunąć foldery ręcznie)

Następnie możesz uruchomić aplikację npx create-reag-app my-app, aby ponownie utworzyć aplikację reaguj.

ref: https://github.com/facebook/create-react-app/issues/8086

Mądry Bazyliszek
źródło
0

Upewnij się, że PORTY SĄ WŁĄCZONE

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

BLAL BLA BLA I NA KOŃCU MASZ TO

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

Nadal jest nowicjuszem w węźle js, ale spowodowało to więcej.

Dobre życie
źródło
0

Spójrz na swojego klienta / package.json . Musisz mieć te skrypty

"scripts": {
  "start": "react-scripts start",
  "build": "react-scripts build",
  "test": "react-scripts test --env=jsdom",
  "eject": "react-scripts eject"
}
Zwycięzca
źródło
0

Być może masz starą (globalną) instalację npm, która powoduje problem. Począwszy od 12/19, npm nie obsługuje instalacji globalnych.

Najpierw odinstaluj pakiet za pomocą:
npm uninstall -g create-react-app

Niektórzy użytkownicy systemu osx / Linux mogą również wymagać usunięcia starej npm przy użyciu:
rm -rf /usr/local/bin/create-react-app

Jest to obecnie jedyna obsługiwana metoda generowania projektu:
npx create-react-app my-app

Wreszcie możesz uruchomić:
npm start

Ali
źródło
-1
"scripts": {
  "prestart": "npm install",
  "start": "http-server -a localhost -p 8000 -c-1"
}

dodaj ten fragment kodu do pliku package.json , w zależności od własnej konfiguracji.

Ankita Singh
źródło
-1

Mam ten sam problem. Próbuję napisać kod w pliku package.json jak poniżej

    "scripts": {
    "start": "<your-script-file>.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
Mohamed Salah
źródło
-2

Rozwiązałem mój. To nie jest błąd NPM związany z zachowaniem proxy.

Jeśli jesteś za proxy,

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"
Eman Jayme
źródło