Cli: kesalahan entri bin tidak valid untuk paket

Dibuat pada 18 Des 2019  ·  16Komentar  ·  Sumber: npm/cli

Apa sebabnya

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

Kapan

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 .

Dimana

Kesalahan terjadi dari build bersih di Heroku ci dan untuk saya secara lokal di mesin osx saya.

Bagaimana

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 ?

Release 6.x patch

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.

Semua 16 komentar

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 install
  • npm prune

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:

  • Tambahkan tugas baru di pipeline Anda sebelum npm prune atau npm install yang disebut "Node.js tool installer"
  • Setel 13.3.0 seperti pada bidang "Spesifikasi Versi" dan jalankan kembali.

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.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat