Saya perlu menjalankan: npm prune
dari baris ini di buildpack Heroku ini: https://github.com/gjaldon/heroku-buildpack-phoenix-static/blob/master/lib/build.sh#L137
Saya mengalami kesalahan berikut:
npm ERR! invalid bin entry for package [email protected]. key=jsesc, value=bin/jsesc
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/samhstn/.npm/_logs/2019-12-18T17_08_55_527Z-debug.log
Yang menghasilkan log debug berikut: 2019-12-18T17_08_55_527Z-debug.log
Kesalahan hanya terjadi saat menjalankan npm prune
ketika tidak ada node_modules
dan bisa terjadi lebih dari sekedar modul jsesc
.
Tapi npm prune
berfungsi dengan baik ketika kita telah menginstal node_modules
.
Kesalahan terjadi dari build bersih di Heroku ci dan untuk saya secara lokal di mesin osx saya.
Dari kloning repositori ini: https://github.com/samhstn/invalid-bin-entry , lalu jalankan:
cd assets
npm prune
menghasilkan kesalahan
Apa yang harus saya lakukan untuk men-debug jenis kesalahan ini ke depannya? Dan bagaimana saya bisa membuat Heroku buildpack berhasil menjalankan perintah npm prune
?
Saya memiliki kesalahan baru dan sangat mirip dan tidak dapat dijelaskan dalam pengaturan pengemasan saya. Berharap jawaban di sini untuk menjelaskan apa yang terjadi.
Ini adalah salah satu dari sedikit tempat yang saya bahkan dapat menemukan hasil yang masuk akal:
npm "entri bin tidak valid"
Yang membuat saya curiga ini mungkin karena beberapa perubahan baru-baru ini.
Saya mengalami masalah yang sama
Saya mengalami pesan kesalahan yang sama, di NPM: v6.13.4.
Langkah saya untuk mereproduksi berbeda dengan OP, tetapi saya menganggap itu penyebab yang serupa.
Kita gunakan:
npm ci && npm prune --production
Ini menyebabkan
error invalid bin entry for package
Menggunakan:
npm install && npm prune --production
Namun bekerja dengan baik. Saya akan berasumsi karena npm install
menyentuh package-lock / package.json setiap kali dirasa cocok dan berpotensi menambahkan sesuatu di sana untuk membuat ini semua berfungsi.
Saya telah menelusuri ini kembali ke
https://github.com/npm/bin-links/commit/25a34f905a0144cebcd41e56b6942117b267e005#diff -168726dbe96b3ce427e7fedce31bb0bcR85
Yang ditambahkan dalam rilis v6.13.3 npm.
Saya tidak terlalu mengerti apa yang sedang terjadi sekarang. Saya mungkin akan membaca lebih baik nanti untuk memahami apa penyebab sebenarnya daripada gejalanya.
Kita tidak boleh _kembali ke v6.13.2_ karena 6.13.3 & 6.13.4 adalah untuk mengatasi kelemahan keamanan bin;
https://blog.npmjs.org/post/189618601100/binary-planting-with-the-npm-cli
Saya pikir tindakan terbaik saat ini adalah tidak menggunakan prune sampai ini diurutkan, kemungkinan besar setelah masa liburan. :)
@samhstn @grossmannmartin @ nickv2002
@isaacs (karena git-menyalahkan memberi tahu saya demikian: kegembiraan
Mengalami masalah yang sama. Melihatnya dengan paket yang bervariasi:
+ npm prune
npm ERR! invalid bin entry for package [email protected]. key=portastic, value=bin/portastic
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2019-12-23T21_19_21_377Z-debug.log
Ya, sepertinya pangkas tidak lolos di folder yang sepenuhnya terselesaikan saat menautkan tempat sampah (yang, harus saya katakan, mengapa _prune_ menautkan tempat sampah, sepertinya agak tidak perlu, tapi oke.)
Ini akan diperbaiki di rilis cli berikutnya. Sementara itu, Anda mungkin dapat menggunakan npm ci --production
untuk mendapatkan status "deps produksi terinstal, tetapi bukan deps dev"? Itu tidak akan baik jika Anda bergantung pada bundling deps Anda di git repo, tentu saja, karena ci
membuang node_modules
jika menemukannya, tetapi hanya mencoba berpikir solusi yang mungkin bisa Anda gunakan.
Ada berita kapan perbaikan ini akan ditayangkan?
6.13.5 akan keluar selasa minggu depan, 07-01-2019, dengan pembaruan ke pacote dan bin-link untuk memperbaiki ini dan satu masalah lainnya.
Hal yang sama terjadi di sini. Tahukah anda kira-kira jam berapa itu akan diupdate hari ini?
Masalah ini membuat saya gila beberapa hari terakhir, apakah ada ide kapan perbaikan akan keluar? itu merusak semua penerapan otomatis saya melalui TeamCity sehingga kami terjebak untuk dapat menerapkan dan QA produk kami.
Maaf atas keterlambatannya. Telah men-debug kegagalan aneh pada GH Actions Windows CI. Kami berharap untuk menyelesaikan ini dalam beberapa hari ke depan, paling lama.
@jwwtaker Anda cukup menggunakan perintah dalam urutan terbalik sampai perbaikan keluar:
npm prune
masih tidak berfungsi untuk saya yang menggunakan npm v6.13.6
.
Dari deskripsi asli:
Dari kloning repositori ini: https://github.com/samhstn/invalid-bin-entry , lalu jalankan:
cd assets
npm prune
menghasilkan kesalahan berikut:
npm ERR! invalid bin entry for package [email protected]. key=jsesc, value=bin/jsesc
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/samhstn/.npm/_logs/2020-01-13T13_17_57_425Z-debug.log
Dan log debug berikut: 2020-01-13T13_17_57_425Z-debug.log
Kami memiliki masalah yang sama tetapi tidak dapat menggunakan solusi ini karena perintah dijalankan oleh buildpack Heroku. Kami macet di npm 6.13.2 (masalah terjadi sejak npm 6.13.3), atau kami harus menghapus package-lock.json
(masalah hanya terjadi dengan file ini). npm 6.13.5 tidak memperbaikinya, begitu pula npm 6.13.6.
ada pembaruan tentang @isaacs ini?
CI Azure DevOps saya memberi saya kesalahan yang sama, jadi, kalau-kalau ada yang membutuhkan bantuan untuk memperbaiki ini sementara:
Itu berhasil untuk saya.
Tidak seperti beberapa orang di atas, memperbarui dari npm 6.13.4
menjadi 6.13.6
memperbaiki masalah dalam kasus saya, jadi setidaknya kita tahu _some_ masalah telah diperbaiki. Saya harap ini bisa diperbaiki untuk semua orang juga.
Setelah 20 hari, setidaknya pembaruan kemajuan akan sangat bagus.
Komentar yang paling membantu
6.13.5 akan keluar selasa minggu depan, 07-01-2019, dengan pembaruan ke pacote dan bin-link untuk memperbaiki ini dan satu masalah lainnya.