【问题标题】:Cannot determine project or target for Architect command Angular无法确定 Architect 命令 Angular 的项目或目标
【发布时间】:2018-12-15 16:43:16
【问题描述】:
C:\Users\muhiuddin.TOWERTECH\test\testapp>ng build --target=production

C:\Users\muhiuddin.TOWERTECH\test\testapp>ng run

当我运行一个新项目或构建它时,出现“无法确定 Architect 命令的项目或目标”错误。我是 Angular 的新手。请给我简单的解决方案。

Angular CLI: 6.0.8
Node: 9.3.0
OS: win32 x64
Angular: 6.0.7
>Cannot determine project or target for Architect command.
Error: Cannot determine project or target for Architect command.
    at MergeMapSubscriber._loadWorkspaceAndArchitect.pipe.operators_1.concatMap [as project] (C:\Users\muhiuddin.TOWERTECH\test\testapp\node_modules\@angular\cli\models\architect-command.js:62:27)
    at MergeMapSubscriber._tryNext (C:\Users\muhiuddin.TOWERTECH\test\testapp\node_modules\rxjs\internal\operators\mergeMap.js:65:27)
    at MergeMapSubscriber._next (C:\Users\muhiuddin.TOWERTECH\test\testapp\node_modules\rxjs\internal\operators\mergeMap.js:55:18)
    at MergeMapSubscriber.Subscriber.next (C:\Users\muhiuddin.TOWERTECH\test\testapp\node_modules\rxjs\internal\Subscriber.js:64:18)
    at TapSubscriber._next (C:\Users\muhiuddin.TOWERTECH\test\testapp\node_modules\rxjs\internal\operators\tap.js:62:26)
    at TapSubscriber.Subscriber.next (C:\Users\muhiuddin.TOWERTECH\test\testapp\node_modules\rxjs\internal\Subscriber.js:64:18)
    at MergeMapSubscriber.notifyNext (C:\Users\muhiuddin.TOWERTECH\test\testapp\node_modules\rxjs\internal\operators\mergeMap.js:84:26)
    at InnerSubscriber._next (C:\Users\muhiuddin.TOWERTECH\test\testapp\node_modules\rxjs\internal\InnerSubscriber.js:25:21)
    at InnerSubscriber.Subscriber.next (C:\Users\muhiuddin.TOWERTECH\test\testapp\node_modules\rxjs\internal\Subscriber.js:64:18)
    at MapSubscriber._next (C:\Users\muhiuddin.TOWERTECH\test\testapp\node_modules\rxjs\internal\operators\map.js:52:26)

【问题讨论】:

  • 查看 ng (github.com/angular/angular-cli/wiki) CLI Wiki。 ng run 就像 execute 的东西,而不是 run my appng serveng run <appname>:serve 看起来就像你在尝试的那样。一些语法在 6 中有所改变。

标签: node.js angular angular-cli


【解决方案1】:

更新angular.json 文件。添加defaultProject 属性(值将是所需项目的名称)

【讨论】:

    【解决方案2】:

    从另一台机器上的存储库中克隆项目后,我遇到了类似的问题。 我使用了命令:

    $ npm link
    
    $ ng serve
    

    【讨论】:

      【解决方案3】:

      仔细检查命令行语法。如果使用 ng 而不是 npm 就像使用 package.json 快捷脚本时一样,此错误会显示。

      npm run debug   (Good)
      ng run debug    (Bad)
      

      【讨论】:

      • 好球!有时会让人感到困惑。 ;)
      • 非常感谢!这个得到了我。
      • 除了debug还有哪些选项?
      • @justin.m.chase 程序员的选择。 start 是一个常见的。例如我的package.json"scripts": { "start": "ng serve --host my.website.com --port 443 -o" }。所以输入npm run start 只是说“运行我的'开始'脚本”。
      【解决方案4】:

      在 Angular 版本 6 中,构建命令发生了变化。 在 package.json 中将 "build": "ng build --target=production --aot=true" 更改为 "build": "ng build --prod --aot" 对我有用。

      【讨论】:

        【解决方案5】:

        用途:

        ng serve
        

        查看 Angular CLI 文档 - https://github.com/angular/angular-cli/wiki

        【讨论】:

        • Btw 'ng serve' 是运行开发服务器,但 npm run build 是编译和发布构建。
        • 是的,没错,ng serve -o 确实可以节省,但取决于项目配置。 npm start 也可以。
        【解决方案6】:

        升级到 Angular 6 后有这个。

        似乎 CLI 命令已更改为:

        ng build --configuration <environment-name>
        

        从 5 到 6 的迁移还创建了一个新的“angular.json”文件,该文件现在包含所有不同的配置及其名称。

        【讨论】:

          【解决方案7】:

          查看 cli documentation

          我相信您需要在构建命令中指定您的项目名称。

          ng build [project]

          您也可以使用以下命令进行生产构建。

          ng build [project] --prod

          【讨论】:

          • 感谢您的示例现在工作正常。但我在运行时仍然遇到同样的错误。例如“ng 运行 [项目]”
          • @MUHIUDDIN 在 github 上的 angular-cli 存储库中存在一个问题,即没有向用户显示有关此相同错误消息的足够信息。看看:github.com/angular/angular-cli/issues/10955
          • @MUHIUDDIN for the run 命令试试这个:ng run 需要一个 project:target 格式的目标,因此出错。
          猜你喜欢
          • 2019-01-30
          • 2018-12-24
          • 2018-10-15
          • 2018-11-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-02-27
          • 1970-01-01
          相关资源
          最近更新 更多