首页 > 解决方案 > HTTP 错误:当我想使用 mxcl/installer nodejs 模块下载 Forge 时出现状态码 404

问题描述

当我想使用带有 mxcl/installer nodejs 模块的 installForgeTask() 下载 Forge 时遇到问题。

ipcMain.on("play", async (evt, arg) => {
  if (accountStorage.accountList !== null) {
    if (accountStorage.serialize().includes("microsoft")) {
      try {
        console.log("downloading");
        const forgeVersion = "14.23.5";
        const resForge = installForgeTask(
          { version: forgeVersion, mcversion: "1.12.2" },
          minecraftLocation,
          { java: "/jre1.8.0_301/bin/java.exe" }
        );
        await resForge.startAndWait({
          onUpdate(task) {
            evt.sender.send("progressionForge", task.progress, task.total);
          },
        });
        const versionResolved = Version.parse(minecraftLocation, "1.12.2");
        //@ts-ignore
        const resdependency = installDependenciesTask(versionResolved);
        await resdependency.startAndWait({
          onUpdate(task) {
            evt.sender.send("progressionDependency", task.progress, task.total);
          },
        });
      } catch (e) {
        console.log(e);
      }
      console.log("done");

当我执行它时,出现一个错误并说证书已过期,状态码为 404 但我不知道如何解决

Error: HTTP Error: Status code 404 on https://repo1.maven.org/maven2/net/minecraftforge/forge/1.12.2-14.23.5/forge-1.12.2-14.23.5-installer.jar
    at DownloadForgeInstallerTask.updateMetadata (D:\D├®veloppements\Projets\Projet RiftenRP\riftenlauncher\node_modules\@xmcl\installer\dist\index.js:289:19)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async DownloadForgeInstallerTask.process (D:\D├®veloppements\Projets\Projet RiftenRP\riftenlauncher\node_modules\@xmcl\installer\dist\index.js:395:13)
    at async DownloadForgeInstallerTask.run (D:\D├®veloppements\Projets\Projet RiftenRP\riftenlauncher\node_modules\@xmcl\task\dist\index.js:182:36)
    at async D:\D├®veloppements\Projets\Projet RiftenRP\riftenlauncher\node_modules\@xmcl\installer\dist\index.js:479:32
    at async DownloadForgeInstallerTask.run (D:\D├®veloppements\Projets\Projet RiftenRP\riftenlauncher\node_modules\@xmcl\installer\dist\index.js:466:13) {
  errors: [
    Error: certificate has expired
        at TLSSocket.onConnectSecure (node:_tls_wrap:1530:34)
        at TLSSocket.emit (node:events:394:28)
        at TLSSocket._finishInit (node:_tls_wrap:944:8)
        at TLSWrap.ssl.onhandshakedone (node:_tls_wrap:725:12) {
      code: 'CERT_HAS_EXPIRED'
    },
    Error: certificate has expired
        at TLSSocket.onConnectSecure (node:_tls_wrap:1530:34)
        at TLSSocket.emit (node:events:394:28)
        at TLSSocket._finishInit (node:_tls_wrap:944:8)
        at TLSWrap.ssl.onhandshakedone (node:_tls_wrap:725:12) {
      code: 'CERT_HAS_EXPIRED'
    }
  ]
}
done
Error: HTTP Error: Status code 404 on https://repo1.maven.org/maven2/net/minecraftforge/forge/1.12.2-14.23.5/forge-1.12.2-14.23.5-installer.jar
    at DownloadForgeInstallerTask.updateMetadata (D:\D├®veloppements\Projets\Projet RiftenRP\riftenlauncher\node_modules\@xmcl\installer\dist\index.js:289:19)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async DownloadForgeInstallerTask.process (D:\D├®veloppements\Projets\Projet RiftenRP\riftenlauncher\node_modules\@xmcl\installer\dist\index.js:395:13)
    at async DownloadForgeInstallerTask.run (D:\D├®veloppements\Projets\Projet RiftenRP\riftenlauncher\node_modules\@xmcl\task\dist\index.js:182:36)
    at async D:\D├®veloppements\Projets\Projet RiftenRP\riftenlauncher\node_modules\@xmcl\installer\dist\index.js:479:32
    at async DownloadForgeInstallerTask.run (D:\D├®veloppements\Projets\Projet RiftenRP\riftenlauncher\node_modules\@xmcl\installer\dist\index.js:466:13) {
  errors: [
    Error: certificate has expired
        at TLSSocket.onConnectSecure (node:_tls_wrap:1530:34)
        at TLSSocket.emit (node:events:394:28)
        at TLSSocket._finishInit (node:_tls_wrap:944:8)
        at TLSWrap.ssl.onhandshakedone (node:_tls_wrap:725:12) {
      code: 'CERT_HAS_EXPIRED'
    },
    Error: certificate has expired
        at TLSSocket.onConnectSecure (node:_tls_wrap:1530:34)
        at TLSSocket.emit (node:events:394:28)
        at TLSSocket._finishInit (node:_tls_wrap:944:8)
        at TLSWrap.ssl.onhandshakedone (node:_tls_wrap:725:12) {
      code: 'CERT_HAS_EXPIRED'
    }
  ]
}
done

我使用这些 nodejs 依赖项

我不知道为什么会发生这个错误,我真的为此哭了;(

提前谢谢^^

标签: javascriptnode.jshttpminecraftminecraft-forge

解决方案


您没有使用良好的链接。这个 repo 不包含“net.minecraftforge”,而只有“ net ”。

你可以使用这个:

https://maven.minecraftforge.net/net/minecraftforge/forge/1.12.2-14.23.5.2855/forge-1.12.2-14.23.5.2855-installer.jar

在这里,您将拥有所有链接。


推荐阅读