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)


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


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.


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


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.


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

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


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

następnie utwórz aplikację-reaguj na moją aplikację. Dzięki temu działa
ugali soft


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


„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.


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


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.


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

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


-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.


-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"
  },

-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"
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.