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

如何将Nx Console的命令运行器从ng切换为nx?

如何将Nx Console的命令运行器从ng切换为nx?

我太懂你这种憋屈的感觉了——明明Nx Console能正常加载项目,可一执行命令就自动用npx ng,结果因为Angular 14+Nx14的项目里angular.json是版本2(而Angular CLI只认版本1),各种命令都报错,比如创建组件、库,甚至lint和测试都跑不起来,还弹出Invalid format version detected - Expected:[ 1 ] Found: [ 2 ]的提示。别慌,咱们来一步步把命令运行器切回nx:

1. 修改Nx Console的全局/工作区设置

打开VS Code的设置面板(快捷键Ctrl+, 或者Cmd+,),在搜索框里输入nx console command runner,找到对应的设置项。你会看到默认值是ng,直接把它改成nx,保存设置就行。之后Nx Console执行命令时就会默认用npx nx开头了。

2. 确认项目根目录的Nx配置

检查一下项目根目录有没有nx.json文件——这是Nx项目的核心标识文件,Angular CLI项目是没有这个的。如果存在,打开它确认cli配置项是否正确,比如:

{
  "cli": {
    "defaultCollection": "@nrwl/angular"
  }
}

要是没有nx.json,说明项目的Nx初始化可能有问题,你可以在终端里运行npx nx init来生成正确的配置(记得先备份好现有的配置文件,避免意外)。

3. 临时应急:手动指定命令运行器

如果上面的设置没立刻生效,你可以在Nx Console里执行命令时,留意界面上的「Command Runner」下拉选项,直接选择nx再点击执行按钮。或者干脆直接在终端里手动敲命令,比如创建组件用:

npx nx generate @nrwl/angular:component my-component --project=my-lib

为啥会出现这个问题?

其实是Nx Console的自动识别逻辑搞的鬼——它有时候会看到项目里的angular.json就默认当成纯Angular CLI项目,用ng命令来执行,但Nx管理的项目用的是适配过的高版本angular.json(版本2),只有nx命令才能正确解析这个配置,所以就出现了版本不兼容的报错。

备注:内容来源于stack exchange,提问作者Natalia Cáceres

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 10:27:46