'react-scripts' tidak dikenali sebagai perintah internal atau eksternal

94

Saya punya proyek maven, di mana proyek JavaScript dikloning sebagai sub-modul git. Jadi struktur direktori terlihat seperti

mavenapp/src/main/javascript/[npm project files]

di dalam package.json saya, tesnya terlihat seperti ini: "test": "react-scripts test --env=jsdom",

tetapi ketika saya mencoba menjalankan tes npm dikatakan

'react-scripts' tidak dikenali sebagai perintah internal atau eksternal,

Menariknya ketika saya mengkloning proyek javascript secara mandiri, saya tidak mendapatkan kesalahan ini. Saya sudah mencoba menjalankan kembali npm install.

npm version : 5.5.1

node version : 9.3.0

J Smith
sumber
sementara saya telah mengatasi masalah ini, saya menghargai bahwa ini telah mengumpulkan sedikit perhatian dan oleh karena itu mungkin berguna untuk menandai jawaban sebagai jawaban yang benar ... terbuka untuk saran dari komunitas tentang siapa yang akan menjawabnya. .
J Smith

Jawaban:

79

Ini adalah kesalahan tentang file react-scripts yang hilang di direktori modul node Anda pada saat instalasi.

Periksa apakah ketergantungan react-script Anda tersedia atau tidak di package.json

Jika tidak tersedia, tambahkan secara manual melalui:

npm install react-scripts --save

Yogesh Borad
sumber
11
JANGAN lakukan ini, ini dapat menyebabkan masalah dengan proyek lain ... Anda TIDAK harus menginstal react-scripts secara global seperti ini. Lihat di sini: github.com/facebook/create-react-app/issues/…
Rosdi Kasim
5
@RosdiKasim Setelah membaca komentar Anda, saya menyadari kesalahan saya. Sekarang, saya telah mengubah perintah untuk proyek tertentu daripada secara global (-g).
Yogesh Borad
Tidak ada yang berubah buat saya, masih error yang sama. Menjalankan "npm install react-scripts --save" meskipun berhasil tidak membuat folder react-scripts di folder npm_modules. Saya menggunakan Windows10
Giox
@RosdiKasim, berdasarkan komentar Anda, Anda harus mengikuti akhir utas di Github. Saya menjalankan masalah yang sama dan memperbaikinya dengan melakukan seperti ini stackoverflow.com/a/54403797/8719007 (jawaban di bawah)
Serge Kishiko
45

Sudahkah Anda mencoba:

rm -rf node_modules && npm install

Menghapus node_modulesterlebih dahulu, sering kali cenderung memperbaiki banyak masalah terkait paket yang aneh seperti di Node.

Jonny Asmar
sumber
2
ya saya punya ... tidak ada perbedaan ... Untuk saat ini saya harus menghapus submodul dan menempelkannya secara manual.
J Smith
Hmm, Anda tidak melihat kesalahan yang dicatat dari Anda, npm installbukan? Coba jalankan npm install -fdan lihat apakah ada perubahan. Mungkin paket lain yang gagal dipasang dan diblokir agar tidak dapat dipasang create-react-appsepenuhnya. Memaksa penginstalan npm dengan -f, btw, bukanlah solusi lengkap .... hanya langkah pemecahan masalah. Jika ada yang berubah setelah Anda menjalankannya, maka Anda tahu ada yang salah dengan salah satu paket.
Jonny Asmar
Selain itu, Anda mungkin ingin memverifikasi bahwa Anda memiliki file di javascript/node_modules/.bin/react-scripts. Jika tidak, mungkin ada beberapa penyebab berbeda untuk ini, yang meliputi masalah perizinan, pembatasan OS dalam membuat symlink (semua yang ada di dalam node_moduels/.binadalah symlink yang dihasilkan saat penginstalan. Bisa juga karena Anda tidak memasang skrip-react ... coba berlari npm install --save react-scriptsdan lihat apakah itu membantu.
Jonny Asmar
1
Pindah dari MacOS ke Windows (Dropbox menyinkronkan semua node_modulesfolder) - hanya menghapus folder dan menginstal ulang menyelesaikannya
AS
Ya - itulah yang dilakukan oleh perintah di atas. Gejala Anda kemungkinan besar disebabkan oleh sejumlah paket yang menjalankan prosedur penginstalan bersyarat per OS. Linux, Mac, & Windows memiliki cukup banyak perbedaan dengan banyak dependensi proyek yang mendasar.
Jonny Asmar
31

Jika react-scriptsada dipackage.json

Jika Anda melihat sesuatu seperti ini "react-scripts": "2.1.3"di pakage.jsonfile Anda, cukup ketik perintah ini

npm install

Jika react-scriptstidak ada dipackage.json

Jika tidak ada yang seperti "react-scripts"di package.jsonfile Anda maka mungkin Anda belum menginstalnya.Untuk melakukan itu ketik perintah berikut dan Anda akan siap

npm install react-scripts --save

Hadi Mir
sumber
1
Bagaimana jika saya memilikinya di package.json saya dan juga menginstalnya, tetapi menghadapi masalah yang sama?
Serob_b
@Serob_b Kadang-kadang saya juga memiliki masalah yang sama dalam hal itu saya hanya menjalankan "npm install" dan itu memecahkan masalah. atau Anda selalu dapat menghapus folder node_modules dengan mengetikkan rm "-rf node_modules" di terminal dan kemudian menjalankan "npm install". semoga ini membantu
Hadi Mir
9

Dalam situasi saya, beberapa masalah terjadi dengan paket node saya. Jadi saya menjalankan npm audit fixdan memperbaiki semua masalah

Nguyen Duc Thanh
sumber
9

Saya menghadapi masalah yang sama. Tetapi menjalankan perintah pembaruan npm itu memecahkan masalah saya.

Miraj Khandaker
sumber
Itulah solusinya. Terima kasih.
Dzenis H.
3

saya memperbaiki masalah ini :-), cukup hapus instalan node.js Anda dan tampilkan file tersembunyi

lalu buka "C: \ Users \ yourpcname \ AppData \ Roaming \

lalu hapus folder "npm" dan "npm-cache"

dan instal versi baru node.js.

Sandro Cagara
sumber
2
Ini sebenarnya bukan solusi.
Phani Rithvij
Yang ini berhasil untuk saya.
UA
2

react-scripts tidak dikenali karena perintah internal atau eksternal terkait dengan npm.

Saya akan memperbarui semua dependensi saya di file package.json saya ke versi terbaru di direktori utama dan direktori klien jika berlaku. Anda dapat melakukan ini dengan menggunakan tanda bintang "*" daripada menentukan nomor versi tertentu di file package.json untuk dependensi Anda.

Sebagai contoh:

"dependencies": {
    "body-parser": "*",
    "express": "*",
    "mongoose": "*",
    "react": "*",
    "react-dom": "*",
    "react-final-form": "*",
    "react-final-form-listeners": "*",
    "react-mapbox-gl": "*",
    "react-redux": "*",
    "react-responsive-modal": "*",
  }

Saya kemudian akan memastikan semua paket-lock.json telah dihapus dan kemudian menjalankan npm install dan yarn install di direktori utama dan direktori klien juga jika berlaku.

Anda kemudian harus dapat menjalankan pembuatan benang dan kemudian menggunakan benang mulai untuk menjalankan aplikasi.

Ahmedakhtar 11
sumber
Ini nasihat yang buruk. Penggunaan *untuk nomor versi Anda bermasalah karena dapat menyebabkan versi paket yang berbeda diinstal pada sistem yang berbeda. Gunakan nomor versi yang terkunci dan perbarui sesuai kebutuhan
Dana Woodman
Ya, hal-hal bisa benar-benar salah di sini untuk tujuan produksi, tetapi hanya ide untuk tujuan pengujian.
Ahmedakhtar11
2

Menghadapi masalah yang sama, meskipun saya menggunakan benang.

Yang berikut berhasil untuk saya:

yarn install 
yarn start
Paus Francis
sumber
1

Untuk aplikasi Portable berubah

package.json

sebagai berikut

"scripts": {
    "start": "node node_modules/.bin/react-scripts start",
    "build": "node node_modules/.bin/react-scripts build",
    "test": "node node_modules/.bin/react-scripts test",
    "eject": "node node_modules/.bin/react-scripts eject"
  }
smamran
sumber
0

Saya telah mencoba banyak solusi untuk masalah ini yang ditemukan secara online, tetapi dalam kasus saya tidak ada yang berhasil kecuali untuk menginstal ulang NVM untuk Windows (yang saya gunakan untuk mengelola beberapa versi Node). Di penginstal, ia mendeteksi versi Node yang terinstal dan menanyakan pengguna apakah mereka ingin NVM mengontrolnya. Saya menjawab ya dan NVM memperbaiki semua masalah PATH. Hasilnya, semuanya berjalan seperti sebelumnya. Masalah ini mungkin memiliki banyak penyebab, tetapi PATH yang rusak jelas merupakan salah satunya dan menginstal (ulang) NVM perbaikan PATH.

Tomáš Hübelbauer
sumber
0

Ini adalah pertanyaan yang agak lama tetapi ini mungkin bisa membantu untuk referensi di masa mendatang. Hapus folder node_modules dan jalankan npm install lagi. Bekerja untuk saya.

Koder90
sumber
0

Dalam kasus saya, saya mengedit file saya di Linux tempat saya menginstal node v14.0.5, ketika saya mem-boot ulang ke Windows di mana saya memiliki node v14.0.3, saya mendapatkan kesalahan yang sama. Jadi saya memperbarui versi node di windows dan semuanya berjalan dengan baik untuk saya.

Sourabh
sumber
0

Beginilah cara saya memperbaikinya

  1. Periksa dan Perbarui variabel jalur (Lihat di bawah tentang cara memperbarui variabel jalur)
  2. Hapus node_modules dan package-lock.json
  3. Lari npm install
  4. Lari npm run start

jika ini tidak berhasil, coba instal nodejs dan jalankan perbaikan

atau bersihkan cache npm npm cache clean --force

Untuk memperbarui variabel jalur

  1. tekan tombol windows
  2. Pencarian untuk Edit the system environmental variable
  3. Klik Environment Variables...
  4. pada bagian bawah variabel Sistem (akan ada dua bagian)
  5. Pilih Pathnama variabel
  6. Klik Edit..
  7. Periksa apakah ada C:\Program Files\nodejsdi daftar, jika tidak tambahkan ini
Salman
sumber
0

memiliki masalah serupa .. saya menggunakan benang untuk memperbaikinya. Saya perhatikan bahwa react-scripts tidak ditemukan di modul node saya, jadi saya memutuskan untuk mendownloadnya dengan npm tetapi sepertinya saya juga gagal. jadi saya mencoba benang (benang menambahkan skrip reaksi) dan itu memecahkan mimpi buruk! Semoga ini berhasil juga untuk Anda. Selamat debug teman-teman.

Emmanuel Sewah
sumber
-1

Dalam kasus saya, masalahnya berkaitan dengan tidak memiliki izin file yang cukup untuk beberapa file yang akan ditulisi oleh instalasi paket react-scripts. Yang menyelesaikannya adalah menjalankan git bash sebagai administrator dan kemudian menjalankannya npm install --save react-scriptskembali.

Adim Victor
sumber
-2

Ketika saya membuat proyek baru menggunakan React, untuk menginstal modul React saya harus menjalankan "npm install" (PowerShell) dari dalam folder ClientApp proyek baru (misalnya "C: \ Users \ Chris \ source \ repos \ HelloWorld2 \ HelloWorld2 \ ClientApp "). WebApp inti .NET dengan React perlu menginstal file React di lokasi yang benar agar perintah React berfungsi dengan baik.

Christopher Upton
sumber