Node新手执行autorest --list-available命令遇错误求助
解决AutoRest运行
autorest --list-available时的TypeError错误 嘿,我来帮你捋一捋这个问题~
你遇到的这个错误,核心原因是你当前使用的Node.js版本(v10.1.0)太老旧了。AutoRest 2.x版本依赖的一些文件系统API,在Node.js v10里还处于实验性阶段(比如你看到的ExperimentalWarning: The fs.promises API is experimental警告),而且老版本Node的API实现和AutoRest的逻辑不兼容,才会抛出TypeError: volume[member].bind is not a function这类错误,后续的未处理Promise拒绝警告也是这个问题引发的连锁反应。
给你一套具体的解决步骤:
- 先卸载全局安装的旧版AutoRest:
npm uninstall -g autorest - 升级你的Node.js到LTS长期支持版本(比如v16.x或v18.x,这些版本的
fs.promises已经是稳定API了,不会再触发实验性警告) - 重新安装最新稳定版的AutoRest:
npm install -g autorest - 最后再运行
autorest --list-available,应该就能正常列出可用扩展,不会再报错啦。
内容的提问来源于stack exchange,提问作者Kirsten




