npm安装失败:buble @ github:pemrouz / buble引用不是树

时间:2017-11-20 20:00:26

标签: npm package-lock.json

要点:

我正在寻找一个关于如何在package-lock.json中找到并修复错误的策略。此错误会导致npm install

  • 如何确定安装此布雷依赖项的内容?
  • 我可以简单地删除条目吗?
  • 如何确定参考值应该是什么?

详情

我想更新我的node_modules。所以我删除了我的node_modules目录,并运行了npm install。虽然这在过去一直有效,但它现在失败了以下错误(在AppData \ Roaming \ npm-cache_logs \ XXXX-debug.log中找到):

13 silly fetchPackageMetaData error for buble@github:pemrouz/buble#fdcd2bac2c8945816b6fe3b032e49b58cc728b14 Command failed: C:\Program Files\Git\mingw64\bin\git.EXE checkout fdcd2bac2c8945816b6fe3b032e49b58cc728b14
13 silly fetchPackageMetaData fatal: reference is not a tree: fdcd2bac2c8945816b6fe3b032e49b58cc728b14
14 verbose stack Error: Command failed: C:\Program Files\Git\mingw64\bin\git.EXE checkout fdcd2bac2c8945816b6fe3b032e49b58cc728b14
14 verbose stack fatal: reference is not a tree: fdcd2bac2c8945816b6fe3b032e49b58cc728b14
14 verbose stack
14 verbose stack     at ChildProcess.exithandler (child_process.js:271:12)
14 verbose stack     at emitTwo (events.js:125:13)
14 verbose stack     at ChildProcess.emit (events.js:213:7)
14 verbose stack     at maybeClose (internal/child_process.js:927:16)
14 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)

我相信引用来自/package-lock.json,我在这里找到了2个使用此引用的条目。搜索网络告诉我/package-lock.json由npm更新。我不知道这个泡泡包是如何添加到我的项目中的 - 必须是其他一些软件包的依赖项,但我缺乏确定哪些软件包的技能。条目如下所示:

...
"buble": {
      "version": "github:pemrouz/buble#fdcd2bac2c8945816b6fe3b032e49b58cc728b14",
      "requires": {
        "acorn": "5.2.1",
...

在网上搜索类似问题似乎来自尝试同步其存储库的用户。这些解决方案建议在Gitub中同步分叉的方法,这不适用于我的情况。据我所知,有人以某种方式更新了Github存储库,这打破了这个参考。

所以,我正在寻找一个如何解决这个问题的策略。我如何弄清楚这个布尔依赖的安装?我可以简单地删除条目吗?我如何弄清楚参考值应该是什么?

提前感谢任何方向

4 个答案:

答案 0 :(得分:1)

我相信你可以运行npm install --no-optional buble,这应该会阻止安装可选的依赖项。在执行此操作之前,您应该删除旧的node_modules并重新开始。

https://docs.npmjs.com/cli/install

答案 1 :(得分:1)

我得到了这个工作。我所做的是在我的package-lock.json文件中删除所有对buble的引用(当然是在制作备份副本之后)。然后我删除了我的node_modules目录,npm cache clear --force,然后是npm install。 npm能够重新加载所有内容,并且似乎已经使用新的参考值将buble包重新添加到我的package-lock.json中。

我不知道所有这些步骤是否必要;最后我变得绝望,准备尝试一切。希望这有助于其他人!

答案 2 :(得分:1)

我的问题是我没有GIT github安装在我的机器上。您需要安装Git,因此npm install可以使用它来下载软件包

答案 3 :(得分:0)

我有类似的问题,但不完全相同。当我尝试在公司网络环境中进行npm安装时,出现了此问题。某些SSH和HTTPS被阻止。错误消息是

npm sill pacote Retrying git command: ls-remote -h -t https://github.com/pemrouz/buble.git attempt # 6
npm sill pacote Retrying git command: ls-remote -h -t https://github.com/pemrouz/buble.git attempt # 7

我删除了package-lock.json并再次进行npm安装。一切都很好。