我已将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",
答案 0 :(得分:302)
我遇到了同样的问题。
与版本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
答案 1 :(得分:35)
在最近的版本中,没有--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 :(得分:16)
卸载旧版本的Angular cli,并安装Angular CLI global:
将Angular cli全局包更新到下一个版本,&#34; @ angular / compiler-cli&#34;:&#34; ^ 6.0.0&#34;
npm uninstall -g @angular/cli
npm cache verify
npm install -g @angular/cli@next
通过运行以下命令生成新项目和默认应用程序:
ng new my-project
cd my-project
ng serve
答案 3 :(得分:16)
好吧,我更新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 dev-
npm uninstall --save-dev angular-cli
npm install --save-dev @angular/cli@latest
npm install
要在npm安装后解决审核问题:-
npm audit fix
要解决与“ angular.json”有关的问题:-
ng update @angular/cli --migrate-only --from=1.7.4
希望这对您有帮助:)
答案 4 :(得分:8)
如果您不知道版本,当前项目已经完成,您可以省略--from
命令并输入--migrate-only
ng update @ angular / cli --migrate-only
答案 5 :(得分:8)
尝试使用以下命令:
ng update @angular/cli --migrate-only --from=1.7.4
它将执行以下
更新业力配置
更新配置
删除旧配置文件(.angular-cli.json)
编写配置文件(angular.json)
请注意,上述命令应该在您拥有文件的文件夹中运行。angular-cli.json
然后它将被angular.json
替换。
答案 6 :(得分:7)
如果所有类型的更新突击队都不会这样做。尝试删除 package-lock.json 。然后运行 npm install 。在经历了大量的更新突击队之后,对我来说是不是。
答案 7 :(得分:4)
它对我有用:
删除文件夹 node_modules
运行命令: npm install
(如果第一次不起作用,请重复2或3次,这很有趣,但对我有用。)
答案 8 :(得分:3)
检查您执行命令的文件夹结构,您应该运行命令&#39; ng serve&#39;在结构中应该有一个angular.json文件。
运行命令时,默认会生成angular.json文件
npm install -g&#39; @ angular / cli&#39; 新的Project_name 然后cd project_folder 然后,运行服务。它对我有用
答案 9 :(得分:3)
只需在控制台中运行 ng update @angular/cli
即可。
运行命令(如果使用npm)后,您可能会发现一些漏洞,但只需在控制台中运行 npm audit fix
即可修复它们。该命令将扫描项目中的任何漏洞,还将通过安装对这些依赖项的更新来解决兼容性问题。如果您不希望立即自动修复这些漏洞,可以通过在控制台中运行 npm audit fix --dry-run -json
来执行 Dry Run 。这将使您以控制台中的json的形式来了解命令npm audit fix
的作用。
答案 10 :(得分:3)
我遇到了同样的问题,对我来说可行的是:
在package.json文件中,将Angular CLI版本更新为我想要的版本:
"devDependencies": { ...
"@angular/cli": "^6.0.8",
...
}
删除node_modules
文件夹,以便在使用以下方法更新依赖项之前清理项目:
npm install
ng update @angular/cli
尝试再次构建我的项目(最后一次成功尝试)
ng build --prod
答案 11 :(得分:2)
对我来说,有效的方法是创建一个 new Angular项目,并只是将angular.json文件复制到该项目中,由于该问题,由于angular.json文件为 < em>缺少 。
答案 12 :(得分:1)
我也遇到同样的问题,我只是在命令下执行。
ng update @ angular / cli-仅迁移--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)
答案 13 :(得分:0)
对于只克隆了一个项目并尝试运行它的人,您需要首先运行npm install
。我完全忘记运行此命令,而在安装节点模块之前只是运行ng serve
。
答案 14 :(得分:0)
只需检查目录,就必须在创建项目的同一目录上运行“ ng serve”。
因此,首先输入您的项目目录。
答案 15 :(得分:0)
我试图将Ionic 4应用程序设置为以pwa身份运行。当我运行命令时:
ng add @angular/pwa
...收到错误消息。经过一番尝试和错误后,我发现创建项目时启动命令是错误的。我使用的是Ionic 3版本:
ionic start myApp tabs --type=ionic-angular
正确的是:
ionic start myApp tabs --type=angular
类型不带“ ionic-”。这样就解决了错误。
答案 16 :(得分:0)
~/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服务
答案 17 :(得分:0)
我遇到了同样的问题,发现我的项目中没有package.json(只有package-lock.json)。然后,我
..并且一切都很好。花了一段时间才弄清楚,但这对我有用。
答案 18 :(得分:0)
对我来说,问题是因为全局 @ angular / cli 版本和 @ angular / compiler-cli 不同。查看 package.json 。
...
"@angular/cli": "6.0.0-rc.3",
"@angular/compiler-cli": "^5.2.0",
...
如果它们不匹配,请更新或降级其中一个。
答案 19 :(得分:0)
我在Docker容器内收到此错误消息。我添加了它来解决它:
WORKDIR /usr/src
到Dockerfile。
答案 20 :(得分:0)
对我来说,问题在于我在rails项目文件夹中有一个角度项目文件夹,并且我在rails父文件夹中而不是实际的角度文件夹中运行了所有角度更新命令。
答案 21 :(得分:0)
查看此链接以从Angular 5.2迁移到6。 https://update.angular.io/