npm 错误!使用 npm install 时过早关闭

问题描述 投票:0回答:8

获取 [...................] / rollbackFailedOptional:从 github 安装时动词 npm-session 5d754927a47910d2。

尝试了多种方法,例如清理缓存、重置代理等,但都不起作用。

sudo npm install --save github:saarthak-jain/Blockchainbois-Voting

随附的日志文件是

0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli   '/usr/local/bin/node',
1 verbose cli   '/usr/local/bin/npm',
1 verbose cli   'install',
1 verbose cli   'saarthak-jain/Blockchainbois-Voting'
1 verbose cli ]
2 info using [email protected]
3 info using [email protected]
4 verbose npm-session 5d754927a47910d2
5 silly install loadCurrentTree
6 silly install readLocalPackageData
7 silly fetchPackageMetaData error for github:saarthak-jain/Blockchainbois-Voting premature close
8 timing stage:rollbackFailedOptional Completed in 0ms
9 timing stage:runTopLevelLifecycles Completed in 7432ms
10 verbose stack Error: premature close
10 verbose stack     at PassThrough.onclose (/usr/local/lib/node_modules/npm/node_modules/end-of-stream/index.js:47:67)
10 verbose stack     at PassThrough.emit (events.js:201:15)
10 verbose stack     at emitCloseNT (internal/streams/destroy.js:68:8)
10 verbose stack     at processTicksAndRejections (internal/process/task_queues.js:84:9)
11 verbose cwd /home/saarthak/FrontEnd
12 verbose Linux 4.18.0-18-generic
13 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "saarthak-jain/Blockchainbois-Voting"
14 verbose node v12.2.0
15 verbose npm  v6.9.0
16 error premature close
17 verbose exit [ 1, true ]
github npm npm-install
8个回答
11
投票

就我而言,我尝试安装的包依赖于尚未定义 package.json 的 Git 存储库。我的解决方案是签入/推送丢失的 package.json。


8
投票

我将“回答”这个问题,以防有人因为与我相同的原因来到这里。

npm install some/package

将会失败:

npm ERR! premature close

如果“some/package”实际上不存在。检查确保您的包裹名称拼写正确

为了您的娱乐,我应该使用:

composer require some/package

3
投票

运行后

yarn install
我收到此错误:

error Error parsing JSON at "git://github.com/<xxx>.git/package.json", "Unexpected token } in JSON at position <yyy>".

结果我打破了

package.json
中的
<xxx>
,解决了问题。

所以:

  1. 运行
    yarn install
    ,可能会有更好的日志。
  2. package.json
    错误可能会导致这种情况。

2
投票

当我尝试从 Github 安装带有无效

package.json
文件的软件包时,我也遇到了同样的情况。

该文件有一个额外的逗号 (,),因此我遇到了相同的

Error: premature close
错误。


2
投票

我遇到了同样的错误,就我而言,问题是我尝试安装的模块的 package.json 中指定的格式错误的 semver 版本。

确保目标模块在

version
package.json

字段中具有有效的 semver 版本

0
投票

我遇到了同样的错误,就我而言,我最终发现问题是我的

/tmp
文件夹是只读的。这似乎只影响 github 依赖关系,大概是因为 git 检查了
/tmp
中的那些存储库。其他依赖项可以正常安装。


0
投票

我刚刚得到了同样的结果,这是由使用最新的 NPM 版本构建的包引起的,然后尝试使用旧版本下载它。


0
投票

在使用

yarn install
时,我遇到了类似的错误(其中很多,我认为每个依赖项都有一个),也许这与
npm

是一个类似的问题
➤ YN0013: │ @aws-sdk/middleware-user-agent@npm:3.226.0 can't be found in the cache and will be fetched from the remote registry
➤ YN0001: │ Error [ERR_STREAM_PREMATURE_CLOSE]: Premature close
    at new NodeError (node:internal/errors:405:5)
    at PassThrough.onclose (node:internal/streams/end-of-stream:154:30)
    at PassThrough.emit (node:events:517:28)
    at emitCloseNT (node:internal/streams/destroy:132:10)
    at process.processTicksAndRejections (node:internal/process/task_queues:81:21)

有帮助的是升级纱线版本,就我而言是

3.0.2 -> 3.6.4
这解决了一切。希望它对某人有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.