ng build --prod 极其缓慢。

12
我们有一个Angular项目,我们正在尝试使用--prod选项进行构建。
问题是,这花费了33个小时!
说实话,我们在Angular,npm和所有这些方面都不太擅长,我们都是这个世界的初学者。
我们知道的全部是,当我们执行ng build --prod command时,我们会在这里卡上数小时:
11% building modules 9/11 modules 2 active …s\font-awesome\css\font-awesome.min.css
我们尝试从angular.json文件中移除font-awesome.min.css,但我们卡在另一个CSS文件中,这个问题没有得到解决。即使我们从angular.json文件中删除了所有的CSS文件,我们还是无法解决这个问题:
10% building modules 2/2 modules 0 active

以下是我们的版本:

Package                            Version
------------------------------------------------------------
@angular-devkit/architect          0.7.5
@angular-devkit/build-angular      0.7.5
@angular-devkit/build-ng-packagr   0.7.5
@angular-devkit/build-optimizer    0.7.5
@angular-devkit/build-webpack      0.7.5
@angular-devkit/core               0.7.5
@angular-devkit/schematics         0.8.9
@angular/cdk                       6.4.7
@angular/cli                       6.2.9
@angular/material                  6.4.7
@ngtools/json-schema               1.1.0
@ngtools/webpack                   6.1.5
@schematics/angular                0.8.9
@schematics/update                 0.8.9
ng-packagr                         4.7.1
rxjs                               6.4.0
typescript                         2.9.2
webpack                            4.9.2

我们想要做的就是找到一种调试这个问题的方法,或者也许有人已经遇到过同样的问题?

以下是我计算出来的规格:

Processor: Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz 3.19 GHz
RAM: 32Gb
Windows 7

我不了解Angular,但我认为这可能是由于您的计算机低内存或处理速度所致。您能提供一下您计算机的规格吗? - Gourav
更新了我的电脑配置。我们在几台电脑上都遇到了同样的问题。 - user
1
尝试加上“--no-aot”标志,在使用之前请阅读有关该标志的更多信息:https://angular.io/guide/aot-compiler - Koushik Ravulapelli
哇,ng build --prod --no-aot --build-optimizer false 在不到一分钟的时间内完美地运行了,非常感谢! - user
3个回答

10

增加节点分配的内存大小确实加速了我的工作。你可以看到我将其调整为8GB,而不是默认的512MB。

> node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng build --prod

如果您不确定计算机有多少可用内存,请使用以下命令查看基于MB的内存统计信息,检查available列而不是free列。

> free -m
              total        used        free      shared  buff/cache   available
Mem:          15866        1490        3726         116       10650       13929

0
我遇到了同样的问题。我在一个批处理文件中调用了ng build命令。构建过程非常耗时。但是在Jetbrains Webstorm终端中运行却非常快速。后来我尝试在Windows Powershell中运行主批处理文件,结果成功了。

-21

提供给您的信息:

ng build --prod --no-aot --build-optimizer false

不到一分钟就完成了工作。


13
你正在删除生产版本构建中重要的设置。当然会更快。 - Michael Laffargue
2
删除功能并不等同于修复问题。 - Qutayba
但这就是问题所在,我从未说过我需要那些功能,我只是希望它运行得快... - user
3
构建生产环境的目的是为了拥有这些重要设置。 - Orleando Dassi
2
不建立也是另一个选项,如果这是你的解决方案。 - spattanaik75
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接