Mulai skrip kesalahan yang hilang saat menjalankan mulai npm

267

Saya menerima kesalahan ini ketika mencoba men-debug aplikasi simpul saya menggunakan perintah mulai npm.

Kesalahan:

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" "mulai" npm ERR! node v0.12.7 npm ERR! npm v2.11.3

npm ERR! skrip yang hilang: mulai npm ERR! npm ERR! Jika Anda memerlukan bantuan, Anda dapat melaporkan kesalahan ini di: npm ERR! https://github.com/npm/npm/issues npm ERR! Harap sertakan file berikut dengan permintaan dukungan apa pun: npm ERR! C: \ Users \ andrmoll.NORTHAMERICA \ Documents \ GitHub \ SVIChantange \ npm-debug.log

Dari file debug:

tumpukan verbose Kesalahan: skrip yang hilang: mulai

4 verbose stack saat dijalankan (C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ run-script.js: 142: 19)

4 verbose stack di C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ run-script.js: 58: 5

4 verbose stack di C: \ Program Files \ nodejs \ node_modules \ npm \ node_modules \ read-package-json \ read-json.js: 345: 5

4 tumpukan verbose di checkBinReferences_ (C: \ Program Files \ nodejs \ node_modules \ npm \ node_modules \ read-package-json \ read-json.js: 309: 45)

4 verbose stack pada akhirnya (C: \ Program Files \ nodejs \ node_modules \ npm \ node_modules \ read-package-json \ read-json.js: 343: 3)

4 verbose stack pada saat itu (C: \ Program Files \ nodejs \ node_modules \ npm \ node_modules \ read-package-json \ read-json.js: 113: 5)

4 verbose stack di C: \ Program Files \ nodejs \ node_modules \ npm \ node_modules \ read-package-json \ read-json.js: 300: 12

4 verbose stack di evalmachine.:334:14

4 verbose stack di C: \ Program Files \ nodejs \ node_modules \ npm \ node_modules \ anggun-fs \ anggun-fs.js: 102: 5

4 verbose stack di FSReqWrap.oncomplete (evalmachine.:95:15)

Andrew Moll
sumber
4
apakah Anda memiliki startskrip yang ditentukan dalam package.jsonfile Anda ?
Robbie

Jawaban:

382

Sepertinya Anda mungkin belum menetapkan startskrip dalam package.jsonfile Anda atau proyek Anda tidak mengandung server.jsfile.

Jika ada file server.js di root paket Anda, maka npm akan default perintah mulai ke node server.js.

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

Anda dapat mengubah nama skrip aplikasi Anda server.jsatau menambahkan yang berikut kepackage.json

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

Atau ... Anda bisa node your-script.jslangsung berlari

Robbie
sumber
15
Saya berjuang untuk memahami, untuk apa kebutuhan startAnda saat ini main?
Val
8
@Val mainadalah titik masuk ke modul ketika Anda menggunakannya require('your-module')untuk memasukkannya ke proyek lain - docs.npmjs.com/files/package.json#main . scripts.startadalah skrip yang akan dijalankan oleh npm saat Anda mengetik npm start.
Robbie
Tidak jelas mengapa npm inittidak bertanya tentang skrip mulai. Atau setidaknya tidak digunakan mainsebagai skrip awal.
sebelas
Tidak perlu melakukan hal lain lagi, tambahkan saja "skrip": {"prestart": "npm install", "start": "http-server -a localhost -p 8000 -c-1"},
SantoshK
Dalam kasus saya ini berfungsi dengan baik .. "skrip": {"test": "echo \" Kesalahan: tidak ada tes yang ditentukan \ "&& keluar 1", "mulai": "parcel index.html", "build": "parcel build --public-url. index.html "},
Udit Sharma
41

Kesalahan ini juga terjadi jika Anda menambahkan kunci "script" kedua di file package.json. Jika Anda hanya meninggalkan satu kunci "skrip" di package.json kesalahannya hilang.

Plamen Petkov
sumber
2
Jawaban ini mungkin bukan jawaban yang tepat, tetapi jelas membantu saya untuk menemukan mengapa npm starttidak berfungsi.
Obromios
2
Ini sebenarnya adalah respons yang tepat. Jika file package.json Anda berisi dua entri untuk skrip, itu akan memilih yang kedua dan mengabaikan apa pun yang Anda catat di yang pertama. Dan Anda akan mendapatkan pesan kesalahan dalam pertanyaan.
JeffreyHammansson
30

Dalam kasus saya, itu tidak berfungsi karena saya menggunakan "scripts" dua kali . Setelah menggabungkan - tidak apa-apa.

"scripts": {
  "test": "make test",
  "start": "node index.js"
}
Дмитрий Дорогонов
sumber
Apakah index.js sebenarnya file? atau sesuatu yang perlu kita buat?
tomsmithweb
@tomsmithweb seingat saya - itu adalah file saya yang ada.
Дмитрий Дорогонов
6

Silakan gunakan baris kode di bawah ini dalam objek skrip yang ada di package.json

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

Bagi saya itu bekerja dengan sangat baik.

sinar
sumber
1
Tidak bekerja untuk saya. Anda masih menggunakan $ npm run serve?
Agen Zebra
3

Saya mengalami masalah ini saat menginstal react-js untuk pertama kalinya: Baris ini membantu saya memecahkan masalah:

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

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

SebelumL
sumber
2

periksa file package.json yang memiliki properti "skrip" ada atau tidak. jika tidak perbarui properti skrip seperti ini

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

Jika Anda menggunakan babelify dan watchify, buka:

package.json

dan tambahkan ini di "skrip":

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

Contohnya adalah:

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

Terima kasih kepada Mark Price dari DevSlopes

drjorgepolanco
sumber
2

Dalam kasus saya, jika ini adalah proyek reaksi, Anda dapat mencoba memutakhirkan npm, dan kemudian memutakhirkan react-cli

npm -g install npm@version
npm install -g create-react-app
Yream
sumber
lalu buat-reaksi-aplikasi my_app. Terima kasih ini berhasil
ugali soft
1

harus menghindari penggunaan versi npm yang tidak stabil.

Saya mengamati satu hal yaitu masalah berbasis versi npm, npm versi 4.6.1 adalah yang stabil tetapi 5.x tidak stabil karena package.json akan dikonfigurasikan dengan sempurna saat membuat dengan templat default jika ini adalah versi yang stabil dan jadi kami secara manual tidak Saya tidak perlu menambahkan skrip itu.

Saya mendapatkan masalah di bawah ini pada npm 5 jadi saya menurunkannya menjadi npm 4.6.1 kemudian bekerja untuk saya,


GALAT: npm 5 belum didukung


Sepertinya Anda menggunakan npm 5 yang baru saja dirilis.

Sayangnya, Buat Aplikasi Bereaksi Asli belum bekerja dengan npm 5. Kami merekomendasikan penggunaan npm 4 atau benang hingga beberapa bug teratasi.

Anda dapat mengikuti masalah yang diketahui dengan npm 5 di: https://github.com/npm/npm/issues/16991


Devas-MacBook-Air: ContohTestApp deva $ npm mulai npm ERR! skrip yang hilang: mulai

Deva
sumber
"versi tidak stabil"
Sv443
1

Alasan lain yang mungkin: Anda menggunakan npm saat proyek Anda diinisialisasi dengan menggunakan benang. (Saya melakukan ini sendiri). Jadi itu yarn startbukan npm start.

kbooth1000
sumber
1

Menginstal create-react-app global sekarang tidak disarankan. Alih-alih hapus instalan paket create-react-app yang diinstal secara global dengan melakukan: npm uninstall -g create-react-app (Anda mungkin harus secara manual menghapus folder paket jika perintah ini tidak berhasil untuk Anda. Beberapa pengguna telah melaporkan bahwa mereka harus menghapus folder secara manual)

Kemudian Anda dapat menjalankan npx create-react-app my-app untuk membuat aplikasi reaksi lagi.

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

Basilisk Wise
sumber
0

Pastikan PORTS HIDUP

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

BLAL BLA BLA DAN AKHIR YANG ANDA MILIKI INI

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

Masih seorang pemula dalam simpul js tetapi ini menyebabkan lebih dari ini.

Goodlife
sumber
0

Lihatlah klien / package.json Anda . Anda harus memiliki skrip ini

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

Anda mungkin memiliki instalasi lama (global) dari npm yang menyebabkan masalah. Pada 12/19, npm tidak mendukung instalasi global.

Pertama, hapus instalasi paket menggunakan:
npm uninstall -g create-react-app

Beberapa pengguna osx / Linux mungkin perlu juga menghapus npm lama menggunakan:
rm -rf /usr/local/bin/create-react-app

Ini sekarang satu-satunya metode yang didukung untuk menghasilkan proyek:
npx create-react-app my-app

Akhirnya Anda dapat menjalankan:
npm start

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

tambahkan potongan kode ini di package.json Anda , tergantung pada konfigurasi Anda sendiri.

Ankita Singh
sumber
-1

Saya memiliki masalah yang sama. Saya mencoba menulis kode dalam file package.json seperti di bawah ini

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

Saya telah menyelesaikan masalah saya. Ini bukan Kesalahan NPM yang terkait dengan perilaku proxy.

Jika Anda berada di belakang 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
sumber