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

Pra*_*eep 187 travis-ci angular-cli package-lock.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
Run Code Online (Sandbox Code Playgroud)

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",
Run Code Online (Sandbox Code Playgroud)

Len*_*nni 308

我刚遇到同样的问题.

它与发布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
Run Code Online (Sandbox Code Playgroud)

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

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

npm install --save-dev @angular/cli@v6.0.0-rc.4
Run Code Online (Sandbox Code Playgroud)

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

ng update @angular/cli --migrate-only --from=1.7.4
Run Code Online (Sandbox Code Playgroud)

  • 确保您的npm和nodejs版本是最新的,否则您可能会失败.只需要ng ng @ angular/cli`即可. (8认同)
  • 运行`ng update @ angular/cli --migrate-only --from = 1.7.4`导致错误:`collection"@ schematics/angular/migrations/migration-collection.json"无法解决.有什么办法解决吗? (4认同)
  • 上面的简短说明.直到第二次运行ng update命令才删除.angula-cli.json. (2认同)

小智 73

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

  • 哦,这很疯狂:))谢谢,这也为我节省了很多复杂的故障排除工作!有时候解决方案真的很简单 (2认同)

小智 35

有了最新版本,没有--migrate-only我更新了repo.

我做了更新

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)
Run Code Online (Sandbox Code Playgroud)


Vik*_*dey 17

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

早些时候我使用的是1.7.4,刚才我把它升级到了angular cli 6.0.8.

要更新Angular Cli global-

npm uninstall -g angular-cli
npm cache clean 
npm install -g @angular/cli@latest
Run Code Online (Sandbox Code Playgroud)

要更新Angular Cli dev-

npm uninstall --save-dev angular-cli
npm install --save-dev @angular/cli@latest
npm install
Run Code Online (Sandbox Code Playgroud)

在npm安装后修复审计问题: -

npm audit fix
Run Code Online (Sandbox Code Playgroud)

解决与"angular.json"相关的问题: -

ng update @angular/cli --migrate-only --from=1.7.4
Run Code Online (Sandbox Code Playgroud)

希望这会帮助你:)


小智 16

卸载旧版本的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
Run Code Online (Sandbox Code Playgroud)

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

ng new my-project
cd my-project
ng serve
Run Code Online (Sandbox Code Playgroud)

  • 不要使用cli @ next,使用cli @ latest或者你将获得beta版本. (6认同)

vip*_* cp 8

如果您不知道版本,当前项目已经完成,您可以省略--from命令和类型--migrate-only

ng update @ angular/cli --migrate-only


Tec*_*ngh 8

尝试使用以下命令:

ng update @angular/cli --migrate-only --from=1.7.4
Run Code Online (Sandbox Code Playgroud)

它将执行以下操作

  • 更新业力配置

  • 更新配置

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

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

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


小智 7

如果所有类型的更新突击队都不会这样做.尝试删除package-lock.json.然后运行npm install.经过大量的更新突击队之后,我的诀窍.