Di windows untuk beberapa alasan ketika saya menjalankannya npm install
tidak akan menginstal devDependencies . AFAIK seharusnya. Jika saya menjalankan npm install --dev
devDependencies diinstal. Saya tidak mengerti mengapa npm install
tidak menginstal devDependencies juga, tetapi hanya menginstal dependensi. Apa yang bisa menjadi alasannya? Bagaimana saya bisa memperbaikinya?
Mungkin ada yang salah dengan package.json saya ? Di bawah ini tercantum jika mungkin bermanfaat:
{
"name": "try-brunch",
"version": "0.1.0",
"private": "true",
"devDependencies": {
"brunch": "^2.0.4",
"cssnano-brunch": "^1.1.5",
"javascript-brunch": "^1.8.0",
"sass-brunch": "^1.9.2",
"uglify-js-brunch": "^1.7.8"
},
"dependencies": {
"jquery": "^2.1.4"
}
}
devDependencies
secara harfiah dependensi untuk pengembang modul . Saya bertaruh sebagian besar dari kitanpm install
modul untuk menggunakannya, daripada mengembangkannya.devDependencies
hanya diperlukan saat Anda menulis paket (aplikasi). Menggunakannya tidak memerlukandevDependencies
. Jadi masuk akal untukdevDependencies
meminta bendera tambahan untuk dipasang. Jikanpm install
diinstaldevDependencies
secara default , pengguna akan mendapatkan paket berlebihan juga.npm i
di folder saya itu mengambil pypackage.json
dan menginstal deps dan devdeps. Ini adalah cara itu dimaksudkan untuk bekerja dan masuk akal (misalnya ketika saya lakukannpm i
setelahgit clone
saya berharap memiliki semua yang saya butuhkan, termasuk misalnya plugin webpack). Pertanyaan ini membahas bug, ketika perilaku aktual berbeda dari yang dimaksudkan. tolong , lihat docs - docs.npmjs.com/cli/install . Ada bendera untuk tidak memasang devdeps, tetapi perilaku default adalah menginstalnya, yang masuk akal dan apa yang diharapkan semua orangnpm i
harus mem-bootstrap keduanya, yang merupakan perilaku yang dimaksudkan, waras, dan terdokumentasi, jadi saya jujur tidak mengerti mengapa Anda mengatakan bahwa masalah ini harus menjadi standarJawaban:
Periksa NPM docs untuk instalasi
Sudahkah Anda mencoba
Jika Anda khawatir paket Anda. Johnny mungkin salah, hal terbaik yang harus dilakukan adalah ini. Buat folder baru, dan jalankan:
Kemudian:
Dan kamu harus baik untuk pergi! Jika tidak, akan terus memposting opsi lain.
Periksa konfigurasi npm Anda:
npm mendapatkan pengaturan konfigurasi dari baris perintah, variabel lingkungan, dan file npmrc. Jadi periksa variabel lingkungan, dan file npmrc .
Masih gagal?
Oke, buat folder baru, idealnya di tempat lain di sistem file Anda. yaitu. tidak dalam hierarki folder yang sama. Misalnya, C: \ myNewFolder - semakin dekat ke basis C: semakin baik drive.
Lalu lari:
Sekarang jalankan:
dan akhirnya:
Apakah semuanya berfungsi seperti yang diharapkan?
Apa yang saya coba lakukan adalah memahami apakah masalah Anda bersifat global, atau sesuatu yang bersifat lokal pada folder dan dependensi sebelumnya.
sumber
Periksa apakah npm config nilai produksi disetel ke true. Jika nilai ini benar, ia akan melewati dependensi dev.
Lari
npm config get production
Untuk mengaturnya:
npm config set -g production false
sumber
true
bukanfalse
?pastikan Anda tidak memiliki
NODE_ENV
set variabel env ke 'produksi'.Jika Anda melakukannya, dependensi dev tidak akan diinstal tanpa
--dev
flagsumber
npm install --dev
menginstal devDependencies secara rekursif . Ini hampir tidak pernah seperti yang Anda inginkan, dan pada kenyataannya sudah usang .--dev
opsi tidak digunakan lagi. Gunakan--only=dev
sebagai gantinyaSaya mempunyai
package-lock.json
file dari versi lama package.json saya, saya menghapusnya dan semuanya terinstal dengan benar.sumber
Saya punya masalah serupa.
npm install --only=dev
tidak bekerja, dan juga tidaknpm rebuild
. Pada akhirnya, saya harus menghapusnode_modules
danpackage-lock.json
dan menjalankannpm install
lagi. Itu memperbaikinya bagi saya.sumber
Anda dapat menggunakan cara singkat untuk dependensi instalasi hanya untuk pengembangan sebagai berikut:
sumber
Pastikan Anda
package.json
valid ...Saya memiliki kesalahan berikut ...
npm WARN Invalid name: "blah blah blah"
dan itu, juga menyebabkan
devDependencies
tidak diinstal.FYI, mengubah
package.json
"nama" untukblah-blah-blah
memperbaikinya.sumber
Saya memiliki masalah yang sama karena saya mengatur
NODE_ENV=production
sementara membangun Docker. Lalu saya menambahkan satu laginpm install --only=dev
. Semuanya bekerja dengan baik. Saya membutuhkan devDependencies untuk membangun modul TypeSciprtsumber