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

安装ember-cli@2.9.1后执行ember命令报错,请求协助解决

解决ember-cli@2.9.1执行ember --version时报"Invalid Version: 2023.01.30.00"错误

问题场景

  • 原使用最新版Ember正常,卸载后全局安装ember-cli@2.9.1
  • 当前Node版本:v10.24.1
  • 执行ember --version或ember -v时触发错误,核心报错信息:
WARNING: Node v10.24.1 has currently not been tested against Ember CLI and may result in unexpected behaviour.
Invalid Version: 2023.01.30.00
TypeError: Invalid Version: 2023.01.30.00
    at new SemVer (/Users/*****/.nvm/versions/node/v10.24.1/lib/node_modules/ember-cli/node_modules/semver/semver.js:323:11)
    at Range.test (/Users/*****/.nvm/versions/node/v10.24.1/lib/node_modules/ember-cli/node_modules/semver/semver.js:1203:15)
    at Function.satisfies (/Users/*****/.nvm/versions/node/v10.24.1/lib/node_modules/ember-cli/node_modules/semver/semver.js:1257:16)
    at /Users/*****/.nvm/versions/node/v10.24.1/lib/node_modules/ember-cli/lib/models/watcher.js:116:18

问题根源

ember-cli@2.9.1依赖的旧版semver库仅支持标准语义化版本号(如x.y.z),无法解析日期格式的版本号(比如Watchman常用的YYYY.MM.DD.XX格式)。当系统中安装的Watchman是这类日期版本时,版本校验逻辑会直接抛出错误。

解决方案

方案1:降级Watchman到兼容版本

如果使用Homebrew管理包:

  • 卸载当前Watchman:
    brew uninstall watchman
    
  • 安装采用标准语义化版本的旧版Watchman(如3.x系列):
    brew install watchman@3
    
  • 强制链接该版本到全局:
    brew link --force watchman@3
    

方案2:修改ember-cli源码跳过版本校验

  • 找到全局ember-cli的安装路径:
    npm list -g ember-cli
    
  • 进入路径下的lib/models/目录,编辑watcher.js文件
  • 定位到第116行左右的版本校验代码(类似if (semver.satisfies(watchmanVersion, this.WATCHMAN_VERSION_RANGE))),直接注释掉这段校验逻辑,或修改为始终返回true跳过检查

方案3:切换到ember-cli@2.9.1推荐的Node版本

ember-cli@2.9.1官方推荐Node 4.x或6.x版本,v10.x未经过测试可能引发额外问题:

  • 使用nvm切换到Node 6.x:
    nvm install 6
    nvm use 6
    
  • 重新全局安装ember-cli@2.9.1:
    npm install -g ember-cli@2.9.1
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 14:06:55