Repository navigation
error invalid bin entry for package #613
Description
Activity
I have a new and very similar and unexplained error in my packaging setup. Hoping for an answer here to clarify what's happening.
This was one of the few places I could even find a reasonable result for:
npm "invalid bin entry"
Which makes me suspect this might be due to some recent change.
I experience the same issue
Reacted by ChobotX, Ivan Trams Kratochvíl, Jonathan Hurter, Cameron Cooks, Jean-Philippe Doyle, Karthi, Kevin Johnson, Sammy Taylor and iotananoI'm experiencing the same error message, on NPM: v6.13.4.
My steps to reproduce are different to OP, but I'm assuming its a similar cause.
We use:
npm ci && npm prune --productionThis causes
error invalid bin entry for packageUsing:
npm install && npm prune --productionWorks fine however. I would assume because
npm installtouches package-lock/package.json whenever it sees fit and is potentially adding something in there to make this all work.I've traced this back to
npm/bin-links@25a34f9#diff-168726dbe96b3ce427e7fedce31bb0bcR85Which was added in the v6.13.3 npm release.
I don't particularly understand whats going on right now. I might have a better read later to understand what the actual cause is rather then the symptom.
We shouldn't revert to v6.13.2 as 6.13.3 & 6.13.4 are to resolve the bin security flaw;
https://blog.npmjs.org/post/189618601100/binary-planting-with-the-npm-cliI think the best course of action right now is to just not use prune until this gets sorted, most likely after the holiday period. :)
@samhstn @grossmannmartin @nickv2002@isaacs (because git-blame tells me so 😂 )
Reacted by Nick VanceHaving the same issue. Seeing it with varying packages:
+ npm prune npm ERR! invalid bin entry for package portastic@1.0.1. 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- added a commit that references this issue
on Dec 26, 2019 Yeah, looks like prune doesn't pass in the fully resolved folder when it links bins (which, I have to say, why is prune linking bins, that seems somewhat unnecessary, but ok.)
It'll be fixed in the next cli release. In the meantime, you can maybe use
npm ci --productionto get to the state of "production deps installed, but not dev deps"? That won't be good if you're depending on bundling your deps in the git repo, of course, sincecithrows away the existingnode_modulesif it finds one, but just trying to think of workarounds you might be able to use.Reacted by Patrick, Sam Houston, Ronan Jouchet, @printminion and Saqib AhmedReacted by Patrick, Ronan Jouchet and Saqib Ahmed- addedsemver:patchsemver patch level for changessemver patch level for changesRelease 6.xwork is associated with a specific npm 6 releasework is associated with a specific npm 6 release
on Dec 26, 2019 Any news on when this fix will be live?
Reacted by Nelson6.13.5 will be going out tuesday of next week, 2019-01-07, with an update to pacote and bin-links to fix this and one other issue.
Reacted by Sam Houston, Em Kingan, Patrick, javiermrz and NelsonReacted by Aisha, Patrick, Mario Uher and Brian HarringtonSame happening here. Do you know aproximately at what time it will be updated today?
This issue's been driving me nuts the last few days, is there any idea when the fix will go out? its broken all my auto deployments via TeamCity so we're stuck being able to deploy and QA our products.
Sorry for the delay. Been debugging a weird failure on GH Actions Windows CI. We expect to get this out in the next few days, at the longest.
@jwwtaker you can just use the commands in inverse order until the fix comes out:
- npm install
- npm prune
Reacted by isabelamaro-hotmart and Tormen Raßmannnpm prunestill not working for me using npmv6.13.6.From original description:
From cloning this repository: https://github.com/samhstn/invalid-bin-entry, then running:
cd assets npm pruneproduces the following error:
npm ERR! invalid bin entry for package jsesc@2.5.2. 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
And the following debug log: 2020-01-13T13_17_57_425Z-debug.log
Reacted by Nelson1 remaining item
We have the same problem but cannot use these workarounds because the commands are run by the Heroku buildpack. We are stuck at npm 6.13.2 (the issue happens since npm 6.13.3), or we must remove
package-lock.json(the issue only happens with this file). npm 6.13.5 does not fix it, neither does npm 6.13.6.Reacted by Sam Houston, Sudharsan Tettu, Ian VanSchooten and Mert Kany update on this @isaacs ?
- added a commit that references this issue
on Jan 16, 2020 My Azure DevOps CI was giving me the same error, so, just in case someone need help to temporarily fix this:
- Add a new task in your pipeline before your npm prune or npm install called "Node.js tool installer"
- Set 13.3.0 as in the "Version Spec" field and re-run.
That worked for me.
Unlike some people above, updating from npm
6.13.4to6.13.6fixed the issue in my case, so at least we know some problems were fixed. I hope it can be fixed for everyone else too.After 20 days, at least a progress update would be great.
Reacted by Aisha, Bhoomtawath Plinsut, Nelson and malyy- added a commit that references this issue
on Mar 16, 2020 - added 2 commits that reference this issue
on Mar 16, 2020 - added a commit that references this issue
on Apr 27, 2020 - added a commit that references this issue
on Apr 16, 2026
What / Why
I need to run:
npm prunefrom this line in this Heroku buildpack: https://github.com/gjaldon/heroku-buildpack-phoenix-static/blob/master/lib/build.sh#L137I experience the following error:
Which produced the following debug log: 2019-12-18T17_08_55_527Z-debug.log
When
The error only occurs when running
npm prunewhen nonode_modulesare present and it can occur for more than just thejsescmodule.But
npm pruneworks fine when we have installed ournode_modules.Where
The error occurs from a clean build on our Heroku ci and for me locally on my osx machine.
How
From cloning this repository: https://github.com/samhstn/invalid-bin-entry, then running:
cd assets npm pruneproduces the error
What should I do to debug this type of error going forward? And how can I get my Heroku buildpack to successfully run the
npm prunecommand?