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

我已将 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 years ago

我刚遇到同样的问题 .

它与发布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

2 years ago

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

2 years ago

随着最新版本,没有 --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)

2 years ago

卸载旧版本的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

2 years ago

好吧,一旦我更新了 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 :)

2 years ago

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

ng update @ angular / cli --migrate-only

2 years ago

尝试使用以下命令:

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

它将执行以下操作

  • 更新业力配置

  • 更新配置

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

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

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

2 years ago

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

2 years ago

这个对我有用:

Delete folder node_modules

Run command: npm install

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

2 years ago

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

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

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

2 years ago

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

2 years ago

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

  • 在package.json文件中,将Angular CLI版本更新为我想要的版本:
"devDependencies": { ...
  "@angular/cli": "^6.0.8",
  ...
}
  • 删除 node_modules 文件夹,以便在更新依赖项之前清除项目:
npm install

ng update @angular/cli
  • 尝试再次构建我的项目(最后一次成功尝试)
ng build --prod

2 years ago

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

2 years ago

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

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)

2 years ago

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

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

2 years ago

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

2 years ago

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

WORKDIR /usr/src

到Dockerfile .

2 years ago

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

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

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

2 years ago

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

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

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

  • 遵循标准升级程序

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