添加twilio后realm-cli push失败且提示otp-generator不支持问题问询
问题原因及解决方案
问题根因
- 报错中指向的
._index.js并非otp-generator官方包的源码文件,而是MacOS系统在文件操作过程中自动生成的AppleDouble元数据隐藏文件,属于无效的二进制格式文件,无法被转译器识别解析。 - 此前仅安装otp-generator时打包的node_modules归档未包含该类隐藏文件,因此推送正常;新增twilio依赖后重新执行
npm install、打包归档的过程中,压缩工具默认将目录下所有隐藏文件一同打包,Realm的依赖处理逻辑扫描到该无效文件后触发转译失败,误判为otp-generator不支持。 - 少数场景下也可能由twilio依赖与MongoDB Realm当前Node.js runtime的兼容限制引发次生问题:twilio部分高版本依赖的ES语法特性超出Realm默认转译规则的支持范围,转译器报错逻辑异常将问题指向了同目录下的otp-generator相关文件。
修复方案
- 打包node_modules归档前先清理目录下的隐藏元文件,执行以下命令删除所有._前缀的无效文件:
find . -name "._*" -delete
- 若使用Mac自带的压缩工具打包,可改用命令行zip指令打包,自动排除隐藏文件:
zip -r node_modules.zip node_modules -x "*/\.*"
- 若清理后仍报错,可尝试降低twilio版本到3.x系列稳定版,该版本对旧版Node环境的兼容性更好,适配Realm的转译规则。
- 升级realm-cli到最新官方版本,新版本已新增打包时自动过滤无效隐藏文件的逻辑。
内容的提问来源于stack exchange,提问作者wristbands
相关产品推荐
相关产品推荐

