Errore di avvio script mancante durante l'esecuzione di npm start


267

Ricevo questo errore quando provo a eseguire il debug dell'applicazione del mio nodo usando il comando npm start.

Errore:

npm ERR! Windows_NT 6.3.9600 npm ERR! argv "C: \ Programmi \ nodejs \\ node.exe" "C: \ Programmi \ nodejs \ node_modules \ npm \ bin \ npm-cli.js" "start" npm ERR! nodo v0.12.7 npm ERR! npm v2.11.3

npm ERR! script mancante: avvia npm ERR! npm ERR! Se hai bisogno di aiuto, puoi segnalare questo errore su: npm ERR! https://github.com/npm/npm/issues npm ERR! Includere il seguente file con qualsiasi richiesta di supporto: npm ERR! C: \ Users \ andrmoll.NORTHAMERICA \ Documents \ GitHub \ SVIChallenge \ NPM-debug.log

Dal file di debug:

stack dettagliato Errore: script mancante: inizio

Stack dettagliato 4 in esecuzione (C: \ Programmi \ nodejs \ node_modules \ npm \ lib \ run-script.js: 142: 19)

4 stack dettagliati in C: \ Programmi \ nodejs \ node_modules \ npm \ lib \ run-script.js: 58: 5

4 stack dettagliati in C: \ Programmi \ nodejs \ node_modules \ npm \ node_modules \ read-package-json \ read-json.js: 345: 5

Stack dettagliato 4 in checkBinReferences_ (C: \ Programmi \ nodejs \ node_modules \ npm \ node_modules \ read-package-json \ read-json.js: 309: 45)

4 stack dettagliati alla fine (C: \ Programmi \ nodejs \ node_modules \ npm \ node_modules \ read-package-json \ read-json.js: 343: 3)

Stack dettagliato 4 allora (C: \ Programmi \ nodejs \ node_modules \ npm \ node_modules \ read-package-json \ read-json.js: 113: 5)

4 stack prolisso in C: \ Programmi \ nodejs \ node_modules \ npm \ node_modules \ read-package-json \ read-json.js: 300: 12

4 stack verbose a evalmachine.:334:14

4 stack dettagliati in C: \ Programmi \ nodejs \ node_modules \ npm \ node_modules \ graceful-fs \ graceful-fs.js: 102: 5

4 stack dettagliati su FSReqWrap.oncomplete (evalmachine.:95:15)


4
hai uno startscript definito nel tuo package.jsonfile?
Robbie,

Risposte:


382

Sembra che tu non abbia definito uno startscript nel tuo package.jsonfile o che il tuo progetto non contenga un server.jsfile.

Se nella radice del pacchetto è presente un file server.js, allora npm imposterà automaticamente il comando start su node server.js.

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

È possibile modificare il nome dello script dell'applicazione in server.jso aggiungere quanto segue al propriopackage.json

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

Oppure ... potresti semplicemente correre node your-script.jsdirettamente


15
Faccio fatica a capire, a cosa serve startquando hai main?
Val

8
@Val mainè il punto di ingresso in un modulo quando lo si utilizza require('your-module')per includerlo in un altro progetto: docs.npmjs.com/files/package.json#main . scripts.startè lo script che deve essere eseguito da npm durante la digitazione npm start.
Robbie,

Non è chiaro il motivo per cui npm initnon si chiede di avviare lo script. O almeno non lo usa maincome script iniziale.
undici

Non c'è bisogno di fare altro, basta aggiungere "script": {"prestart": "npm install", "start": "http-server -a localhost -p 8000 -c-1"},
SantoshK,

Nel mio caso funziona perfettamente. "Script": {"test": "echo \" Errore: nessun test specificato \ "&& exit 1", "start": "pacco index.html", "build": "pacco build --public-url. index.html "},
Udit Sharma

41

Questo errore si verifica anche se è stata aggiunta una seconda chiave "script" nel file package.json. Se si lascia solo una chiave "script" nel pacchetto.json, l'errore scompare.


2
Questa risposta potrebbe non essere una risposta esatta, ma certamente mi ha aiutato a scoprire perché npm startnon funzionava.
Obromios,

2
Questa è in realtà una risposta esatta. Se il tuo file package.json contiene due voci per gli script, sceglierà il secondo e ignorerà qualsiasi cosa tu abbia notato nel primo. E otterrai il messaggio di errore nella domanda.
JeffreyHammansson,


6

Utilizzare la seguente riga di codice nell'oggetto script presente in package.json

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

Per me ha funzionato perfettamente.


1
Non ha funzionato per me. Stai ancora usando $ npm run serve?
Agente Zebra,


2

controlla che il file package.json abbia la proprietà "scripts" presente o no. in caso contrario aggiorna la proprietà dello script in questo modo

{
  "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

Se stai usando babelify e watchify, vai a:

package.json

e aggiungilo in "script":

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

Un esempio potrebbe essere:

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

Grazie a Mark Price di DevSlopes


2

Nel mio caso, se si tratta di un progetto di reazione, puoi provare a aggiornare npm e quindi a reatt-cli

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

quindi crea-reazioni-app my_app. Grazie funziona
ugali soft

1

dovrebbe evitare di utilizzare la versione npm instabile.

Ho osservato una cosa che è il problema basato sulla versione di npm, la versione 4.6.1 di npm è quella stabile ma 5.x è instabile perché package.json verrà configurato perfettamente durante la creazione con un modello predefinito se è una versione stabile e quindi non lo facciamo manualmente " Non è necessario aggiungere tali script.

Ho riscontrato il seguente problema su npm 5, quindi ho effettuato il downgrade a npm 4.6.1, quindi ha funzionato per me,


ERRORE: npm 5 non è ancora supportato


Sembra che tu stia usando npm 5 che è stato recentemente rilasciato.

Sfortunatamente, la creazione dell'app React Native non funziona ancora con npm 5. Si consiglia di utilizzare npm 4 o filo fino alla risoluzione di alcuni bug.

È possibile seguire i problemi noti con npm 5 all'indirizzo: https://github.com/npm/npm/issues/16991


Devas-MacBook-Air: SampleTestApp deva $ npm inizia npm ERR! script mancante: start


"versione instabile"
Sv443

1

Un'altra possibile ragione: stai usando npm quando il tuo progetto è inizializzato in filato. (L'ho fatto da solo). Quindi sarebbe yarn startinvece di npm start.


1

L'installazione di create -eagire-app a livello globale è ora sconsigliata. Disinstallare invece il pacchetto create -eagire-app installato a livello globale eseguendo: npm uninstall -g create -eag-app (potrebbe essere necessario eliminare manualmente la cartella del pacchetto se questo comando non ha funzionato per te. Alcuni utenti hanno segnalato che dovevano eliminare le cartelle manualmente)

Quindi è possibile eseguire npx create -eagire-app my-app per creare nuovamente l'app di reazione.

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


0

Assicurarsi che i PORTI SIANO ATTIVI

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

BLAL BLA BLA E ALLA FINE AVETE QUESTO

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

Ancora un novellino nel nodo js ma questo ha causato di più.


0

Dai un'occhiata al tuo client / package.json . Devi avere questi script

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

0

Potresti avere una vecchia installazione (globale) di npm che causa il problema. A partire dal 19/12, npm non supporta le installazioni globali.

Innanzitutto, disinstallare il pacchetto utilizzando:
npm uninstall -g create-react-app

Alcuni utenti osx / Linux potrebbero dover rimuovere anche il vecchio npm usando:
rm -rf /usr/local/bin/create-react-app

Questo è ora l'unico metodo supportato per generare un progetto:
npx create-react-app my-app

Finalmente puoi eseguire:
npm start


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

aggiungi questo snippet di codice nel tuo package.json , a seconda della tua configurazione.


-1

Ho lo stesso problema. Provo a scrivere un codice nel file package.json come di seguito

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

-2

Ho risolto il mio. Non è un errore NPM relativo al comportamento del proxy.

Se sei dietro al 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"
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.