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中的

这里给出不用降版本的修复方案
2 修复方案
方案一
编辑{NODE_PREFIX目录}\node_modules\arco-cli\node_modules\arco-cli-dev-utils\lib\baseConfig.js文件
注释掉Line340-Line347,如下

方案二
根据上述代码中可以发现,引用了process.env.BASE_CONFIG,因此直接新建或者编辑系统变量,将BASE_CONFIG设置成local就行
3 后话
根据代码arco-cli\lib\env.js中host

请求该路径返回如下:
{
"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,估计是正在做迁移或者下线

评论