Angular CLI 升级 6.0 之后遇到的问题
Angular CLI 1.7.4 在使用 ng build --prod 会构建失败,而 ng build 是正常的。比较好的解决办法是使用 ng build --prod --extract-licenses=false 或者 ng build --prod --no-extract-licenses。
最近将 Angular CLI 升级到 6.X 之后,直接 ng build 会报以下错误,ng serve 也是如此。
95% emitting LicenseWebpackPlugin(node:6252) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, open 'D:\X\project\Angular-examples\angular-test\node_modules\_@angular_common@6.0.2@@angular\package.json'
at Object.fs.openSync (fs.js:646:18)
at Object.fs.readFileSync (fs.js:551:33)
at LicenseExtractor.readPackageJson (D:\X\project\Angular-examples\angular-test\node_modules\_license-webpack-plugin@1.3.1@license-webpack-plugin\dist\LicenseExtractor.js:126:23)
at LicenseExtractor.parsePackage (D:\X\project\Angular-examples\angular-test\node_modules\_license-webpack-plugin@1.3.1@license-webpack-plugin\dist\LicenseExtractor.js:23:32)
at ModuleProcessor.processPackage (D:\X\project\Angular-examples\angular-test\node_modules\_license-webpack-plugin@1.3.1@license-webpack-plugin\dist\ModuleProcessor.js:39:46)
at ModuleProcessor.processFile (D:\X\project\Angular-examples\angular-test\node_modules\_license-webpack-plugin@1.3.1@license-webpack-plugin\dist\ModuleProcessor.js:36:21)
at fileCallback (D:\X\project\Angular-examples\angular-test\node_modules\_license-webpack-plugin@1.3.1@license-webpack-plugin\dist\LicenseWebpackPlugin.js:101:61)
at moduleCallback (D:\X\project\Angular-examples\angular-test\node_modules\_license-webpack-plugin@1.3.1@license-webpack-plugin\dist\LicenseWebpackPlugin.js:108:21)
at D:\X\project\Angular-examples\angular-test\node_modules\_license-webpack-plugin@1.3.1@license-webpack-plugin\dist\LicenseWebpackPlugin.js:120:29
at Array.forEach (<anonymous>)
at emitCallback (D:\X\project\Angular-examples\angular-test\node_modules\_license-webpack-plugin@1.3.1@license-webpack-plugin\dist\LicenseWebpackPlugin.js:86:32)
at _err0 (eval at create (D:\X\project\Angular-examples\angular-test\node_modules\_tapable@1.0.0@tapable\lib\HookCodeFactory.js:24:12), <anonymous>:19:1)
at callback (D:\X\project\Angular-examples\angular-test\node_modules\_copy-webpack-plugin@4.5.1@copy-webpack-plugin\dist\index.js:77:17)
at D:\X\project\Angular-examples\angular-test\node_modules\_copy-webpack-plugin@4.5.1@copy-webpack-plugin\dist\index.js:118:24
at <anonymous>
(node:6252) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:6252) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
但是使用 ng build --prod 是正常的。同样地,使用 ng build --extract-licenses=false 也可以解决问题。
简单看一下,问题是由 license-webpack-plugin 插件引起的。这款插件用于输出第三方插件的许可协议。老外比较重视版权吧。但是不知道为什么总是在这个地方出问题。
--- 2018.7.13 ---
新增解决方法:今天突然发现使用 yarn 安装依赖则没有问题。使用 npm 安装依赖之后,由于某些 angular 插件的文件夹没有 package.json(在下一层文件夹),所以 license-webpack-plugin 在抽取许可协议时会出错,但是使用 yarn 安装依赖时则不会出现这类文件夹,所以运行正常。
Angular CLI 升级 6.0 之后遇到的问题的更多相关文章
- Angular Cli 升级到最新版本
1. 卸载当前版本 npm uninstall -g angular-cli 2. 清除未卸载干净的angular-cli缓存 npm cache clean -f 3. 到安装目录查看是否卸载干净 ...
- angular4.0 安装最新版本的nodejs、npm、@angular/cli的方法
在使用ng项目的ui框架时,比如ng-zorro.angular Material,需要安装最新版本的@angular/cli: 配置ng-zorro框架 ng-zorro官网:https://ng. ...
- angular2.0入门---webStorm创建angular CLI项目
创建项目之前需要先安装angular cli,(angular是用typescript编写的,所以先安装typescript,再安装angularjs-cli).打开命令窗口输入 npm instal ...
- Angular5.0之 安装指定版本Angular CLI
我们可能会发现按照网上的方式下载安装后,使用Angular CLI生成的项目并不是我们想要的Angular的版本,因为在我们没有指定安装版本的前提下,默认会下载最新的版本安装,然而不同的Angular ...
- [转]【Angular4】基础(一):脚手架 Angular CLI
本文转自:https://blog.csdn.net/u013451157/article/details/79444495 版权声明:本文为博主原创文章,未经博主允许不得转载. https://bl ...
- Protrator 官网和下载工具稍慢 , 但能使用. Angular CLI 内置 官方推荐 TS的 demo 不明显 , 而且依赖无法安装
npm uninstall -g protractor && cnpm install -g protractor && protractor --version 复 ...
- Angular入门到精通系列教程(6)- Angular的升级
1. 摘要 2. https://update.angular.io/ 3. 总结 环境: Angular CLI: 11.0.6 Angular: 11.0.7 Node: 12.18.3 npm ...
- Angular环境准备和Angular cli
Angular4.0来了,更小,更快,改动少 接下来为Angular4.0准备环境和学会使用Angular cli项目 1.环境准备: 1)在开始工作之前我们必须设置好开发环境 如果你的机器上还没有安 ...
- Visual Studio Code作为Angular开发工具常用插件安装、json-server安装与使用、angular/cli安装失败问题
前提准备: 搭建好Angular开发环境 1 安装Visual Studio Code 教程简单,不会的去问度娘 2 安装Chrome浏览器 教程简单,不会的趣闻度娘 3 Visual Studio ...
随机推荐
- Linux下Springboot解决`APR based Apache Tomcat Native library`提示
最近转行做java,开发基于Springboot的项目,版本号为2.1.0.RELEASE. 启动应用,发现以下提示: The APR based Apache Tomcat Native libra ...
- 网络协议 13 - HTTPS 协议:加密路上无尽头
系列文章传送门: 网络协议 1 - 概述 网络协议 2 - IP 是怎么来,又是怎么没的? 网络协议 3 - 从物理层到 MAC 层 网络协议 4 - 交换机与 VLAN:办公室太复杂,我要回学校 网 ...
- 为什么要重写hashcode和equals方法?初级程序员在面试中很少能说清楚。
我在面试 Java初级开发的时候,经常会问:你有没有重写过hashcode方法?不少候选人直接说没写过.我就想,或许真的没写过,于是就再通过一个问题确认:你在用HashMap的时候,键(Key)部分, ...
- springboot~maven制作底层公用库
把一些公用方法,类型抽象到一个项目里,让其它项目依赖它,这种设计是一种解耦的体现,其实像springboot就是我们的一种依赖,他里面有很多子模块,用到哪个就添加哪个依赖即可,像redis,mongo ...
- Unity 虚拟摇杆的实现
一般地,虚拟摇杆是放在UI层的. 所以先在Canvas建立一个空对象(这里被命名成MoveController),再在空对象里面放一个作为摇杆图片的Image. 然后通过覆盖重写UnityEngine ...
- centos7 安装 smplayer
How to setup multimedia on CentOS 7 You will need to also install the EPEL repository as nux-dextop ...
- (五)surging 微服务框架使用系列之缓存-reids
1.服务跟客户端初始化的时候需要添加缓存配置 var host = new ServiceHostBuilder() .RegisterServices(builder => { builder ...
- MySQL/MariaDB数据库忘掉密码解决办法--技术流ken
前言 有些时候我们常常会忘掉一些服务的密码,比如系统密码,我们可以进入救援模式进行修改密码,可参考我之前的博客<Centos7破解密码的两种方法--技术流ken>.但有些时候我们也会忘掉数 ...
- java面试记录
怎么确保一个集合不能被修改 ArrayList<String> list = new ArrayList<>();list.add("x");Colle ...
- OO_BLOG2_多线程电梯模拟
作业2-1 单部多线程傻瓜调度(FAFS)电梯的模拟 I. 基于度量的程序结构分析 1)程序结构与基本度量统计图 2)分析 这次作业基本奠定了本人三次电梯作业的基本架构,简述如下: Elevato ...