我需要运行以下命令在此Heroku buildpack中运行: 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 buildpack以成功运行npm prune
命令?
我的包装设置中出现一个新的非常相似且无法解释的错误。 希望在这里找到答案,以澄清正在发生的事情。
这是我什至可以找到合理结果的少数几个地方之一:
npm“无效的bin条目”
这使我怀疑这可能是由于最近的一些更改。
我遇到同样的问题
我在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
npm v6.13.3版本中添加了该功能。
我不太了解现在发生了什么。 以后我可能会读得更好一些,以了解真正的原因而不是症状。
我们不应该_还原到v6.13.2_,因为6.13.3和6.13.4是为了解决bin安全漏洞;
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
是的,当prune链接垃圾箱时,它似乎没有传递到完全解析的文件夹中(我不得不说,为什么_prune_链接垃圾箱,这似乎有些不必要,但是可以。)
它将在下一个CLI版本中修复。 在此期间,您可能可以使用npm ci --production
来达到“已安装生产部门,而不是dev部门”的状态? 如果您依赖于在git repo中捆绑您的deps,那当然不会很好,因为ci
会丢弃现有的node_modules
如果找到一个),而只是想想您可能可以使用的解决方法。
有关何时发布此修复程序的任何新闻?
6.13.5将于下周(2019年1月7日)发布,其中更新了patote和bin-links以修复此问题和其他问题。
同样在这里发生。 您大概知道今天什么时间更新吗?
最近几天,这个问题一直困扰着我,是否知道何时解决该问题? 它通过TeamCity破坏了我的所有自动部署,因此我们无法部署和质量检查我们的产品。
抱歉耽搁了。 正在调试GH Actions Windows CI上的奇怪故障。 我们希望能在未来几天内尽快解决这个问题。
@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 buildpack运行的。 我们停留在npm 6.13.2(此问题自npm 6.13.3起发生),或者我们必须删除package-lock.json
(此问题仅在此文件中发生)。 npm 6.13.5不能修复它,npm 6.13.6也不能修复它。
@isaacs有任何更新吗?
我的Azure DevOps CI给了我同样的错误,因此,以防万一有人需要帮助来临时解决此问题:
那对我有用。
与上述某些人不同,从npm 6.13.4
为6.13.6
解决了我的问题,因此至少我们知道_some_问题已解决。 我希望它也可以为其他所有人修复。
20天后,至少更新进度会很棒。
最有用的评论
6.13.5将于下周(2019年1月7日)发布,其中更新了patote和bin-links以修复此问题和其他问题。