実行する必要があります:このHerokuビルドパックのこの行からnpm prune
: https :
次のエラーが発生します。
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
次のデバッグログが生成されました: 2019-12-18T17_08_55_527Z-debug.log
このエラーは、 node_modules
が存在しないときにnpm prune
実行している場合にのみ発生し、 jsesc
モジュール以外でも発生する可能性があります。
ただし、 node_modules
をインストールすると、 npm prune
は正常に機能します。
このエラーは、Heroku ciのクリーンビルドから発生し、私にとってはローカルのosxマシンで発生します。
このリポジトリのクローンを作成してから: https :
cd assets
npm prune
エラーが発生します
今後、このタイプのエラーをデバッグするにはどうすればよいですか? また、Herokuビルドパックでnpm prune
コマンドを正常に実行するにはどうすればよいですか?
パッケージの設定に、非常によく似た原因不明の新しいエラーがあります。 何が起こっているのかを明確にするためにここで答えを期待しています。
これは、私が妥当な結果を見つけることができた数少ない場所の1つでした。
npm「無効なビンエントリ」
これは最近の変更によるものかもしれないと私は思います。
私は同じ問題を経験します
NPM:v6.13.4で同じエラーメッセージが表示されます。
私の再現手順はOPとは異なりますが、同じような原因だと思います。
を使用しております:
npm ci && npm prune --production
これは〜をひき起こすerror invalid bin entry for package
使用:
npm install && npm prune --production
ただし、正常に動作します。 npm install
は、適切と思われるときはいつでもpackage-lock / package.jsonにアクセスし、これをすべて機能させるために何かを追加している可能性があるためだと思います。
私はこれをさかのぼります
https://github.com/npm/bin-links/commit/25a34f905a0144cebcd41e56b6942117b267e005#diff -168726dbe96b3ce427e7fedce31bb0bcR85
これはv6.13.3npmリリースで追加されました。
私は今何が起こっているのか特に理解していません。 症状ではなく、実際の原因が何であるかを理解するために、後で読んだほうがよいかもしれません。
6.13.3と6.13.4はビンのセキュリティ上の欠陥を解決するため、_v6.13.2_に戻すべきではありません。
https://blog.npmjs.org/post/189618601100/binary-planting-with-the-npm-cli
今のところ最善の行動は、これが分類されるまで、おそらく休暇期間の後、プルーンを使用しないことだと思います。 :)
@samhstn @grossmannmartin @ nickv2002
@isaacs (git-blameが私にそう言うので:joy
同じ問題を抱えています。 さまざまなパッケージでそれを見る:
+ 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
ええ、ビンをリンクするときに、プルーンが完全に解決されたフォルダーを通過しないように見えます(これは、なぜビンをリンクするのか、それはやや不必要に思えますが、大丈夫です)
次のCLIリリースで修正される予定です。 それまでの間、 npm ci --production
を使用して、「本番部門はインストールされていますが、開発部門はインストールされていません」という状態にすることができますか? もちろん、GitリポジトリにDepをバンドルすることに依存している場合、それは良くありません。 ci
は、既存のnode_modules
見つけた場合、それを破棄しますが、考えようとしているだけです。あなたが使用できるかもしれない回避策の。
この修正がいつ公開されるかについてのニュースはありますか?
6.13.5は、来週の火曜日2019-01-07にリリースされ、この問題と他の1つの問題を修正するためにpacoteとbin-linksが更新されます。
ここでも同じことが起こります。 今日は何時に更新されるか、おおよそ知っていますか?
この問題はここ数日私を悩ませてきました、修正がいつ出るかについて何か考えはありますか? TeamCityを介したすべての自動展開が壊れたため、製品の展開とQAができなくなりました。
遅れて申し訳ありません。 GH Actions WindowsCIで奇妙な障害をデバッグしています。 せいぜい、数日以内にこれが出ると予想しています。
@jwwtaker修正が出るまで、コマンドを逆の順序で使用できます。
npm prune
は、npm v6.13.6
を使用してもまだ機能しません。
元の説明から:
このリポジトリのクローンを作成してから: https :
cd assets
npm prune
次のエラーが発生します。
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
そして、次のデバッグログ: 2020-01-13T13_17_57_425Z-debug.log
同じ問題がありますが、コマンドはHerokuビルドパックによって実行されるため、これらの回避策を使用できません。 npm 6.13.2でスタックしている(問題はnpm 6.13.3以降に発生します)か、 package-lock.json
削除する必要があります(問題はこのファイルでのみ発生します)。 npm 6.13.5はそれを修正せず、npm6.13.6も修正しません。
この@isaacsの更新は
私のAzureDevOps CIは私に同じエラーを出していたので、誰かがこれを一時的に修正するために助けが必要な場合に備えて:
それは私のために働いた。
上記の一部の人々とは異なり、npm 6.13.4
から6.13.6
に更新すると、私の場合の問題が修正されたため、少なくとも_some_の問題が修正されたことがわかります。 他のみんなにも直せるといいですね。
20日後、少なくとも進捗状況の更新は素晴らしいでしょう。
最も参考になるコメント
6.13.5は、来週の火曜日2019-01-07にリリースされ、この問題と他の1つの問題を修正するためにpacoteとbin-linksが更新されます。