You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

新建Ember.js应用启动失败:找不到带双.js后缀的node.js.js文件

解决Ember.js启动时Cannot find module '@embroider/macros/src/node.js.js'的问题

问题根源

这个错误是**@embroider/macros包版本与你的Ember CLI、Node.js版本不兼容**导致的路径解析bug。具体来说,Node.js 22的ES模块解析逻辑有更新,加上Ember CLI 6.3.0依赖的embroider版本存在路径处理错误,导致导入时被错误追加了额外的.js后缀,把原本的node.js当成node.js.js去查找。

解决方案

1. 锁定@embroider/macros兼容版本

  • 打开项目根目录的package.json,找到@embroider/macros条目(可能在dependencies或devDependencies里)
  • 将版本改为^1.16.0(该版本经测试适配Node.js 22、Ember CLI 6.3.0)
  • 执行npm install重新安装依赖

2. 彻底清理缓存与依赖

  • 执行npm cache clean --force清除npm缓存
  • 删除项目里的node_modules文件夹和package-lock.json文件
  • 重新运行npm install

3. 强制解决依赖冲突

如果执行npm ls @embroider/macros发现有其他依赖引入了不兼容的版本,在package.json中添加resolutions字段强制指定版本:

"resolutions": {
  "@embroider/macros": "^1.16.0"
}

然后再次执行npm install

验证

完成上述操作后,运行cd super-rentals && npm start,确认启动错误消失,应用功能正常即可。

内容的提问来源于stack exchange,提问作者ptorrsmith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 13:12:32