首页 文章

错误:找不到本地工作区文件('angular.json')

提问于
浏览
169

我已将 travis-ci 与我的GitHub帐户集成(https://github.com/pradeep0601/Angular5-Router-App) .

当我将 @angular/cli 版本从1.7.4更新到6.0.0-rc.3时,构建开始失败并出现错误:

Local workspace file ('angular.json') could not be found.
Error: Local workspace file ('angular.json') could not be found.
    at WorkspaceLoader._getProjectWorkspaceFilePath (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/workspace-loader.js:37:19)
    at WorkspaceLoader.loadWorkspace (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/workspace-loader.js:24:21)
    at TestCommand._loadWorkspaceAndArchitect (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/architect-command.js:177:32)
    at TestCommand.<anonymous> (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/architect-command.js:45:25)
    at Generator.next (<anonymous>)
    at /home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/architect-command.js:7:71
    at new Promise (<anonymous>)
    at __awaiter (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/architect-command.js:3:12)
    at TestCommand.initialize (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/architect-command.js:44:16)
    at /home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/command-runner.js:100:23

package.json片段以更好地了解运行环境:

"@angular/cli": "6.0.0-rc.3",
    "@angular/compiler-cli": "^5.2.0",
    "@angular/language-service": "^5.2.0",
    "@types/jasmine": "~2.8.3",
    "@types/jasminewd2": "~2.0.2",

19 回答

  • 2

    我刚遇到同样的问题 .

    它与发布v6.0.0-rc.2,https://github.com/angular/angular-cli/releases有关:

    新配置格式 . 新文件可以在angular.json中找到(但也接受.angular.json) . 在CLI 1.7项目上运行更新将使您进入新配置 .

    我需要执行:

    ng update @angular/cli --migrate-only --from=1.7.4
    

    这删除了 .angular-cli.json 并创建了 angular.json .

    如果这导致您的项目使用1.7.4,请在本地安装v6:

    npm install --save-dev @angular/cli@v6.0.0-rc.4
    

    并再次尝试使用以下命令更新您的项目:

    ng update @angular/cli --migrate-only --from=1.7.4
    
  • 8

    我收到了相同的错误消息 . 这是我的一个愚蠢的错误,我没有在我的Angular项目所在的目录中运行 ng serve . 在运行此命令之前,请确保您位于正确的目录(项目目录)中 .

  • 1

    随着最新版本,没有 --migrate-only 我更新了回购 .

    我做了 ng update

    Angular CLI配置格式已更改,您可以通过运行以下命令自动更新现有配置:

    ng update @angular/cli
                Updating karma configuration
                Updating configuration
                Removing old config file (.angular-cli.json)
                Writing config file (angular.json)
                Some configuration options have been changed, please make sure to update any npm scripts which you may have modified.
    DELETE .angular-cli.json
    CREATE angular.json (3684 bytes)
    UPDATE karma.conf.js (1040 bytes)
    UPDATE src/tsconfig.spec.json (322 bytes)
    UPDATE package.json (1340 bytes)
    UPDATE tslint.json (3140 bytes)
    
  • 15

    卸载旧版本的Angular cli,并安装Angular CLI global:

    将Angular cli全局包更新到下一个版本,“@ angular / compiler-cli”:“^ 6.0.0”

    npm uninstall -g @angular/cli
    npm cache verify
    npm install -g @angular/cli@next
    

    通过运行以下命令生成新项目和默认应用程序:

    ng new my-project
    cd my-project
    ng serve
    
  • 0

    好吧,一旦我更新了 angular cli 版本,我就遇到了同样的问题 .

    之前我使用的是1.7.4,刚才我把它升级到 angular cli 6.0.8 .

    To update Angular Cli global-

    npm uninstall -g angular-cli
    npm cache clean 
    npm install -g @angular/cli@latest
    

    To update Angular Cli dev-

    npm uninstall --save-dev angular-cli
    npm install --save-dev @angular/cli@latest
    npm install
    

    To fix audit issues after npm install:-

    npm audit fix
    

    To fix the issue related to "angular.json" :-

    ng update @angular/cli --migrate-only --from=1.7.4
    

    Hoping this will help you :)

  • 0

    如果你不知道版本,当前项目已经完成,你可以省略 --from 命令并输入 --migrate-only

    ng update @ angular / cli --migrate-only

  • 0

    尝试使用以下命令:

    ng update @angular/cli --migrate-only --from=1.7.4
    

    它将执行以下操作

    • 更新业力配置

    • 更新配置

    • 删除旧的配置文件(.angular-cli.json)

    • 编写配置文件(angular.json)

    请注意,上述命令应该在您拥有文件的文件夹中运行 . angular-cli.json 然后它将被 angular.json 取代 .

  • 35

    如果各种更新命令's won' t这样做 . 尝试删除 package-lock.json . 然后运行 npm install . 经过大量的更新突击队之后,我的诀窍是什么 .

  • 3

    这个对我有用:

    Delete folder node_modules

    Run command: npm install

    (如果它第一次不起作用,重复这个2或3次,它很有趣,但它适用于我 . )

  • 8

    检查执行命令的文件夹结构,运行命令'ng serve',结构中应该有一个angular.json文件 .

    运行命令时,默认会生成angular.json文件

    npm install -g'@ angular / cli'ng new Project_name然后cd project_folder然后运行ng serve . 它对我有用

  • 2

    只需 run ng update @angular/cli 在您的控制台中 . 运行命令后可能会发现一些漏洞(如果使用npm),但在控制台中只需要 run npm audit fix 来修复它们 . 此命令将扫描项目是否存在任何漏洞,并且还将通过安装这些依赖项的更新来修复兼容性问题 . 如果您不希望立即自动修复这些漏洞,可以在控制台中执行 Dry Run: running npm audit fix --dry-run -json . 这将让您了解命令 npm audit fix 将在控制台中以json的形式执行的操作 .

  • 295

    我遇到了同样的问题,我所做的对我有用的是:

    • 在package.json文件中,将Angular CLI版本更新为我想要的版本:
    "devDependencies": { ...
      "@angular/cli": "^6.0.8",
      ...
    }
    
    • 删除 node_modules 文件夹,以便在更新依赖项之前清除项目:
    npm install
    
    ng update @angular/cli
    
    • 尝试再次构建我的项目(最后一次成功尝试)
    ng build --prod
    
  • 15

    对我来说,有效的是创建了一个 new Angular项目,并且刚刚复制了由于angular.json文件为 missing 而导致问题的项目中的angular.json文件 .

  • 0

    我也面临同样的问题,我刚刚执行下面的命令 .

    ng update @ angular / cli --migrate-only --from = 1.6.4

    它只是删除 angular-cli.json 并创建 angular.json . 你可以在日志中找到它 .

    一旦开始执行 . 您将能够在终端中看到以下日志 .

    Updating karma configuration
            Updating configuration
            Removing old config file (.angular-cli.json)
            Writing config file (angular.json)
            Some configuration options have been changed, please make sure to update any                                     
            npm scripts which you may have modified.
            DELETE .angular-cli.json
            CREATE angular.json (3599 bytes)
            UPDATE karma.conf.js (962 bytes)
            UPDATE src/tsconfig.spec.json (324 bytes)
            UPDATE package.json (1405 bytes)
            UPDATE tsconfig.json (407 bytes)
            UPDATE tslint.json (3026 bytes)
    
  • 0

    查看此链接以从Angular 5.2迁移到6. https://update.angular.io/

    升级到版本8.9对我有用 .
    enter image description here

  • 48

    对我来说,问题是我在rails项目文件夹中有一个角度项目文件夹,我在rails父文件夹而不是实际的角度文件夹中运行了所有角度更新命令 .

  • 4

    我在docker容器中有这个错误消息 . 我解决了添加:

    WORKDIR /usr/src
    

    到Dockerfile .

  • 3

    对我来说问题是因为全局 @angular/cli 版本和 @angular/compiler-cli 不同 . 看看 package.json .

    ...
    "@angular/cli": "6.0.0-rc.3",
    "@angular/compiler-cli": "^5.2.0",
    ...
    

    如果它们不匹配,请更新或降级其中一个 .

  • 7

    我有同样的问题,发现我的项目中没有package.json(但只有package-lock.json) . 然后我

    • 从源代码管理中恢复了package.json

    • 卸载了全局和局部angular-cli版本(如说明书所示)

    • 遵循标准升级程序

    ..一切都很顺利 . 花了一段时间来搞清楚,但这对我来说 .

相关问题