1 问题情况

使用arco init myproject报错如下:

D:\Program Files (x86)\nodejs\prefix\node_modules\arco-cli\node_modules\arco-cli-dev-utils\lib\getAnswerFromUser.js:145
        const { question: { [command]: questions }, } = yield (0, baseConfig_1.getBaseConfig)();
                          ^
​
TypeError: Cannot destructure property 'question' of '(intermediate value)' as it is undefined.
    at D:\Program Files (x86)\nodejs\prefix\node_modules\arco-cli\node_modules\arco-cli-dev-utils\lib\getAnswerFromUser.js:145:27
    at Generator.next (<anonymous>)
    at fulfilled (D:\Program Files (x86)\nodejs\prefix\node_modules\arco-cli\node_modules\arco-cli-dev-utils\lib\getAnswerFromUser.js:5:58)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

目前网上给的解决方案大多是降Node,比如issue中的

image-20250704001555473

这里给出不用降版本的修复方案

2 修复方案

  1. 方案一

编辑{NODE_PREFIX目录}\node_modules\arco-cli\node_modules\arco-cli-dev-utils\lib\baseConfig.js文件

注释掉Line340-Line347,如下

image-20250703235806487

  1. 方案二

根据上述代码中可以发现,引用了process.env.BASE_CONFIG,因此直接新建或者编辑系统变量,将BASE_CONFIG设置成local就行

3 后话

根据代码arco-cli\lib\env.js中host

image-20250704001151634

请求该路径返回如下:

{
  "ok": true,
  "result": {
    "private": {
      "npm": "https://bnpm.byted.org/",
      "unpkg": "https://sf-unpkg-src.bytedance.net",
      "arco": "https://arco.bytedance.net"
    },
    "public": {
      "npm": "https://registry.npmjs.org/",
      "unpkg": "https://unpkg.com",
      "arco": "https://arco.design"
    }
  }
}

可以分析出上述接口实际上是调用的arco.design/material/api/cliConfig,现在这个接口返回404

这个接口看前缀是这个物料平台,现在打开都打开不了,里面一堆资源404,估计是正在做迁移或者下线

image-20250704001109478