Erreur de démarrage du script manquante lors de l'exécution de npm start

267

Je reçois cette erreur lorsque j'essaie de déboguer mon application de noeud à l'aide de la commande npm start.

Erreur:

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

npm ERR! script manquant: lancez npm ERR! npm ERR! Si vous avez besoin d'aide, vous pouvez signaler cette erreur à: npm ERR! https://github.com/npm/npm/issues npm ERR! Veuillez inclure le fichier suivant avec toute demande d'assistance: npm ERR! C: \ Users \ andrmoll.NORTHAMERICA \ Documents \ GitHub \ SVIChallenge \ npm-debug.log

À partir du fichier de débogage:

pile verbeuse Erreur: script manquant: démarrer

4 pile détaillée lors de l'exécution (C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ run-script.js: 142: 19)

4 pile verbeuse dans C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ run-script.js: 58: 5

4 pile détaillée dans C: \ Program Files \ nodejs \ node_modules \ npm \ node_modules \ read-package-json \ read-json.js: 345: 5

4 pile détaillée à checkBinReferences_ (C: \ Program Files \ nodejs \ node_modules \ npm \ node_modules \ read-package-json \ read-json.js: 309: 45)

4 pile détaillée à la fin (C: \ Program Files \ nodejs \ node_modules \ npm \ node_modules \ read-package-json \ read-json.js: 343: 3)

4 pile verbeuse à ce moment-là (C: \ Program Files \ nodejs \ node_modules \ npm \ node_modules \ read-package-json \ read-json.js: 113: 5)

4 pile détaillée dans C: \ Program Files \ nodejs \ node_modules \ npm \ node_modules \ read-package-json \ read-json.js: 300: 12

4 pile verbeuse à evalmachine.:334:14

4 pile détaillée dans C: \ Program Files \ nodejs \ node_modules \ npm \ node_modules \ graceful-fs \ graceful-fs.js: 102: 5

4 pile verbeuse à FSReqWrap.oncomplete (evalmachine.:95:15)

Andrew Moll
la source
4
avez-vous un startscript défini dans votre package.jsonfichier?
Robbie

Réponses:

382

Il semble que vous n'ayez pas défini de startscript dans votre package.jsonfichier ou que votre projet ne contienne pas de server.jsfichier.

S'il y a un fichier server.js à la racine de votre package, npm utilisera par défaut la commande de démarrage sur node server.js.

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

Vous pouvez soit changer le nom de votre script d'application en server.jsou ajouter ce qui suit à votrepackage.json

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

Ou ... vous pouvez simplement exécuter node your-script.jsdirectement

Robbie
la source
15
J'ai du mal à comprendre, quel est le besoin startquand vous en avez main?
Val
8
@Val mainest le point d'entrée dans un module lorsque vous l'utilisez require('your-module')pour l'inclure dans un autre projet - docs.npmjs.com/files/package.json#main . scripts.startest le script à exécuter par npm lorsque vous tapez npm start.
Robbie
On npm initne sait pas pourquoi ne pose pas de question sur le script de démarrage. Ou du moins ne l'utilise pas maincomme script de démarrage.
onze
Plus besoin de faire autre chose que d'ajouter des "scripts": {"prestart": "npm install", "start": "http-server -a localhost -p 8000 -c-1"},
SantoshK
Dans mon cas, cela fonctionne bien .. "scripts": {"test": "echo \" Erreur: aucun test spécifié \ "&& exit 1", "start": "parcel index.html", "build": "parcel build --public-url. index.html "},
Udit Sharma
41

Cette erreur se produit également si vous avez ajouté une deuxième clé "script" dans le fichier package.json. Si vous ne laissez qu'une seule clé "script" dans le package.json, l'erreur disparaît.

Plamen Petkov
la source
2
Cette réponse n'est peut-être pas une réponse exacte, mais elle m'a certainement aidé à trouver pourquoi npm startne fonctionnait pas.
Obromios
2
C'est en fait une réponse exacte. Si votre fichier package.json contient deux entrées pour les scripts, il choisira la seconde et ignorera tout ce que vous avez noté dans la première. Et vous obtiendrez le message d'erreur dans la question.
JeffreyHammansson
30

Dans mon cas, cela ne fonctionnait pas car j'en ai utilisé "scripts" deux fois . Après avoir combiné - c'est ok.

"scripts": {
  "test": "make test",
  "start": "node index.js"
}
Дмитрий Дорогонов
la source
index.js est-il réellement un fichier? ou quelque chose que nous devons créer?
tomsmithweb
@tomsmithweb si je me souviens bien - c'était mon fichier existant.
Дмитрий Дорогонов
6

Veuillez utiliser la ligne de code ci-dessous dans l'objet de script qui se trouve dans package.json

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

Pour moi, cela a parfaitement fonctionné.

Rayon
la source
1
Ça n'a pas marché pour moi. Vous utilisez toujours $ npm run serve?
Agent Zebra
3

J'ai rencontré ce problème lors de l'installation de react-js pour la première fois: ces lignes m'ont aidé à résoudre le problème:

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

source: https://stackoverflow.com/a/59260128/11652661

MbeforeL
la source
2

vérifiez que le fichier package.json ayant la propriété "scripts" est là ou non. sinon mettre à jour la propriété de script comme celle-ci

{
  "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
la source
2

Si vous utilisez babelify et watchify, accédez à:

package.json

et ajoutez ceci dans "scripts":

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

Un exemple serait:

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

Merci à Mark Price de DevSlopes

drjorgepolanco
la source
2

Dans mon cas, s'il s'agit d'un projet React, vous pouvez essayer de mettre à niveau npm, puis de mettre à niveau React-Cli

npm -g install npm@version
npm install -g create-react-app
Yream
la source
puis créez-réagissez-app my_app. Merci cela fonctionne
ugali soft
1

devrait éviter d'utiliser la version npm instable.

J'ai observé une chose qui est un problème basé sur la version npm, la version 4.6.1 de npm est stable, mais 5.x est instable car package.json sera parfaitement configuré lors de la création avec le modèle par défaut s'il s'agit d'une version stable et donc nous ne le faisons pas manuellement '' t besoin d'ajouter que les scripts.

J'ai eu le problème ci-dessous sur le npm 5, j'ai donc rétrogradé à npm 4.6.1, puis cela a fonctionné pour moi,


ERREUR: npm 5 n'est pas encore pris en charge


Il semble que vous utilisiez npm 5 qui a été récemment publié.

Malheureusement, l'application Create React Native ne fonctionne pas encore avec npm 5. Nous vous recommandons d'utiliser npm 4 ou fil jusqu'à ce que certains bugs soient résolus.

Vous pouvez suivre les problèmes connus avec npm 5 à: https://github.com/npm/npm/issues/16991


Devas-MacBook-Air: SampleTestApp deva $ npm start npm ERR! script manquant: démarrer

Deva
la source
"version instable"
Sv443
1

Autre raison possible: vous utilisez npm lorsque votre projet est initialisé en fil. (Je l'ai fait moi-même). Ce serait donc yarn startau lieu de npm start.

kbooth1000
la source
1

L'installation de create-react-app à l'échelle mondiale est désormais déconseillée. Désinstallez plutôt le package create-react-app installé globalement en procédant comme suit: npm uninstall -g create-react-app (vous devrez peut-être supprimer manuellement le dossier du package si cette commande ne fonctionne pas pour vous. Certains utilisateurs ont signalé qu'ils devaient supprimer des dossiers manuellement)

Ensuite, vous pouvez exécuter npx create-react-app my-app pour recréer l'application react.

réf: https://github.com/facebook/create-react-app/issues/8086

Basilisk Wise
la source
0

Assurez-vous que les PORTS SONT ACTIVÉS

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

BLAL BLA BLA ET À LA FIN VOUS AVEZ CELA

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

Encore un débutant dans le nœud js, mais cela a causé plus de cela.

Bonne vie
la source
0

Jetez un œil à votre client / package.json . Vous devez avoir ces scripts

"scripts": {
  "start": "react-scripts start",
  "build": "react-scripts build",
  "test": "react-scripts test --env=jsdom",
  "eject": "react-scripts eject"
}
Victor
la source
0

Vous pouvez avoir une ancienne installation (globale) de npm qui cause le problème. Depuis le 19/12, npm ne prend pas en charge les installations globales.

Tout d'abord, désinstallez le package à l'aide de:
npm uninstall -g create-react-app

Certains utilisateurs osx / Linux peuvent également avoir besoin de supprimer l'ancien npm en utilisant:
rm -rf /usr/local/bin/create-react-app

C'est maintenant la seule méthode prise en charge pour générer un projet:
npx create-react-app my-app

Enfin, vous pouvez exécuter:
npm start

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

ajoutez cet extrait de code dans votre package.json , en fonction de votre propre configuration.

Ankita Singh
la source
-1

J'ai le même problème. J'essaie d'écrire un code dans le fichier package.json comme ci-dessous

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

J'ai résolu le mien. Ce n'est pas une erreur NPM, elle est liée au comportement du proxy.

Si vous êtes derrière un 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
la source