错误:找不到本地工作区文件('angular.json')
Posted
技术标签:
【中文标题】错误:找不到本地工作区文件(\'angular.json\')【英文标题】:Error: Local workspace file ('angular.json') could not be found错误:找不到本地工作区文件('angular.json') 【发布时间】:2018-09-23 10:26:06 【问题描述】:我已将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 sn -p 更好地了解运行环境:
"@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",
【问题讨论】:
我遇到了同样的问题,这很愚蠢,当从 Visual Studio 代码使用终端时会发生这种情况,并且在切换到 Windows 默认 cli 时工作! 【参考方案1】:我也遇到了同样的问题。
与版本v6.0.0-rc.2有关,https://github.com/angular/angular-cli/releases:
新的配置格式。可以在 angular.json 中找到新文件(但也接受 .angular.json)。在 CLI 1.7 项目上运行 ng update 会将您移至新配置。
我需要执行:
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
【讨论】:
运行ng update @angular/cli --migrate-only --from=1.7.4
导致错误:Collection "@schematics/angular/migrations/migration-collection.json" cannot be resolved.
。有什么办法解决吗?
我也得到了`未知选项:'--extractCss'`
确保你的 npm 和 nodejs 版本是最新的,否则你可能会失败。 ng update @angular/cli
就足够了。
@user1932595 我必须将@schematics/angular
升级到最新版本才能克服该错误。
上面的简短说明。在第二次运行 ng update 命令之前,我没有删除 .angula-cli.json。【参考方案2】:
卸载旧版本的 Angular cli,并安装 Angular CLI 全局:
将 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
【讨论】:
不要使用 cli@next,使用 cli@latest 否则您将获得 beta 版本。【参考方案3】:使用最新版本,没有 --migrate-only
我更新了 repo。
我做了 ng 更新
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)
【讨论】:
我收到Incompatible peer dependencies found. See above.
发生了意外错误;包 @angular/flex-layout 没有版本 null。【参考方案4】:
我收到了同样的错误信息。这是我的一个愚蠢的错误,我没有在我的 Angular 项目所在的目录中运行ng serve
。在运行此命令之前,请确保您位于正确的目录(项目目录)中。
【讨论】:
哦,这太疯狂了 :))谢谢,这也为我节省了很多复杂的故障排除!有时解决方案真的很简单 犯了同样的错误 我也做了同样的事情。您创建一个目录来为您的项目提供服务,它会在该目录内创建另一个目录(自己打自己一巴掌) 即ng new my-app, cd my-app (我之前看到了这个评论,但以为它是***的) 犯了同样的错误,你拯救了我的一天,谢谢【参考方案5】:如果各种更新突击队都不会这样做。尝试删除 package-lock.json。然后运行 npm install。在经历了大量的更新突击队之后为我做了诀窍。
【讨论】:
有什么理由不采用这种方法作为默认方法(删除 node_modules 文件夹和 package-lock.json),只运行 npm install 吗?【参考方案6】:检查你正在执行命令的文件夹结构,你应该运行命令'ng serve',结构中应该有一个angular.json文件。
运行命令时默认会生成angular.json文件
npm install -g '@angular/cli' ng new Project_name 然后 cd project_folder 然后,运行 ng 服务。它对我有用
【讨论】:
【参考方案7】:如果不知道当前项目的版本,可以省略--from
命令,输入--migrate-only
ng 更新 @angular/cli --migrate-only
【讨论】:
【参考方案8】:尝试使用以下命令:
ng update @angular/cli --migrate-only --from=1.7.4
它将执行以下操作
更新业力配置
更新配置
删除旧配置文件 (.angular-cli.json)
编写配置文件(angular.json)
请注意,上述命令应在您拥有文件 .angular-cli.json
的文件夹中运行,然后它将被 angular.json
替换。
【讨论】:
我已经多次运行该命令,但 angular.json 文件从未出现。但是,如果我删除 angular-cli.json 文件,运行命令,则 angular-cli.json 文件会被添加回来。我在这里错过了什么?【参考方案9】:查看此链接以从 Angular 5.2 迁移到 6。 https://update.angular.io/
升级到 8.9 版对我有用。
【讨论】:
【参考方案10】:它对我有用:
删除文件夹 node_modules
运行命令: npm install
(如果第一次不成功,重复2或3次,这很有趣但对我有用。)
【讨论】:
为什么重复这个过程会产生与第一次不同的效果?【参考方案11】:嗯,当我更新我的angular cli
版本时,我遇到了同样的问题。
之前我使用的是 1.7.4,现在我将其升级为 angular cli 6.0.8
。
全局更新 Angular Cli:
npm uninstall -g angular-cli
npm cache clean
npm install -g @angular/cli@latest
要更新 Angular Cli 开发人员:
npm uninstall --save-dev angular-cli
npm install --save-dev @angular/cli@latest
npm install
在 npm install 后修复审计问题:
npm audit fix
解决“angular.json”相关问题:
ng update @angular/cli --migrate-only --from=1.7.4
【讨论】:
【参考方案12】:对我来说,问题是我在 rails 项目文件夹中有一个 angular 项目文件夹,并且我在 rails 父文件夹而不是实际的 angular 文件夹中运行了所有 angular 更新命令。
【讨论】:
【参考方案13】:我在 docker 容器中收到此错误消息。我解决了它添加:
WORKDIR /usr/src
到 Dockerfile。
【讨论】:
【参考方案14】:只需在您的控制台中运行 ng update @angular/cli
。
运行命令后您可能会发现一些漏洞(如果使用 npm),然后只需在控制台中 runnpm audit fix
即可修复它们。此命令将扫描项目中的任何漏洞,它还将通过安装这些依赖项的更新来修复兼容性问题。如果您不希望立即自动修复这些漏洞,您可以在控制台中通过 running npm audit fix --dry-run -json
执行 Dry Run:。这将使您了解命令 npm audit fix
将做什么,在控制台中以 json 的形式。
【讨论】:
【参考方案15】:对我来说,问题是因为全局 @angular/cli 版本和 @angular/compiler-cli 不同。查看 package.json。
...
"@angular/cli": "6.0.0-rc.3",
"@angular/compiler-cli": "^5.2.0",
...
如果它们不匹配,更新或降级其中之一。
【讨论】:
【参考方案16】:我遇到了同样的问题,我所做的对我有用的是:
在 package.json 文件中,将 Angular CLI 版本更新为我想要的版本:
"devDependencies": ...
"@angular/cli": "^6.0.8",
...
删除node_modules
文件夹,以便在更新依赖项之前清理项目:
npm install
ng update @angular/cli
尝试再次构建我的项目(最后一次成功的尝试)
ng build --prod
【讨论】:
【参考方案17】:我也遇到了同样的问题,我只是在命令下面执行。
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)
【讨论】:
【参考方案18】:对我来说,工作是创建一个 new Angular 项目,然后将 angular.json 文件复制到由于 angular.json 文件是 不见了。
【讨论】:
【参考方案19】:我遇到了同样的问题,发现我的项目中没有package.json(只有package-lock.json)。然后我
-
从源代码管理中恢复了 package.json
卸载了全局和本地 angular-cli 版本(如说明所述)
遵循标准升级程序
..一切都很好。花了一段时间才弄明白,但这对我有用。
【讨论】:
【参考方案20】:~/Desktop $ ng serve
找不到本地工作区文件('angular.json')。
错误:找不到本地工作区文件 ('angular.json')。
at WorkspaceLoader._getProjectWorkspaceFilePath (/usr/lib/node_modules/@angular/cli/models/workspace-loader.js:37:19)
at WorkspaceLoader.loadWorkspace (/usr/lib/node_modules/@angular/cli/models/workspace-loader.js:24:21)
at ServeCommand._loadWorkspaceAndArchitect (/usr/lib/node_modules/@angular/cli/models/architect-command.js:180:32)
at ServeCommand.<anonymous> (/usr/lib/node_modules/@angular/cli/models/architect-command.js:47:25)
at Generator.next (<anonymous>)
at /usr/lib/node_modules/@angular/cli/models/architect-command.js:7:71
at new Promise (<anonymous>)
at __awaiter (/usr/lib/node_modules/@angular/cli/models/architect-command.js:3:12)
at ServeCommand.initialize (/usr/lib/node_modules/@angular/cli/models/architect-command.js:46:16)
at Object.<anonymous> (/usr/lib/node_modules/@angular/cli/models/command-runner.js:87:23)
这是因为我没有选择Angular项目目录。
应该是这样的:
~/Desktop/angularproject $ ng serve
【讨论】:
【参考方案21】:我试图将我的 Ionic 4 应用程序设置为作为 pwa 运行。当我运行命令时:
ng add @angular/pwa
...收到错误消息。经过一些尝试和错误后,我发现创建项目时启动命令是错误的。我使用的是 Ionic 3 版本:
ionic start myApp tabs --type=ionic-angular
正确的是:
ionic start myApp tabs --type=angular
类型中没有“ionic-”。这解决了错误。
【讨论】:
【参考方案22】:只需检查您的目录,您必须在创建项目的同一目录上运行“ng serve”。
所以,首先进入你的项目目录。
【讨论】:
【参考方案23】:对于那些只是克隆一个项目并尝试运行它的人,您需要先运行npm install
。我完全忘了运行它,只是在安装节点模块之前运行ng serve
。
【讨论】:
以上是关于错误:找不到本地工作区文件('angular.json')的主要内容,如果未能解决你的问题,请参考以下文章
Angular.js - CORS - ASP.NET - Rest API - 在 Access-Control-Allow-Origin 标头中找不到来源