Can';t运行新的Angular CLI项目

Can';t运行新的Angular CLI项目,angular,npm,angular-cli,Angular,Npm,Angular Cli,我有一份工作面试的家庭作业。它需要在Angular中完成,所以我想我应该在开始之前快速升级Node.js、NPM和Angular CLI。看来那是个坏主意 运行我的命令后:ngnewprojectname--style-scss一切看起来都很好。但是当我运行ng serve时,我得到以下错误: Cannot find module 'uglifyjs-webpack-plugin' Error: Cannot find module 'uglifyjs-webpack-plugin' a

我有一份工作面试的家庭作业。它需要在Angular中完成,所以我想我应该在开始之前快速升级Node.js、NPM和Angular CLI。看来那是个坏主意

运行我的命令后:
ngnewprojectname--style-scss
一切看起来都很好。但是当我运行
ng serve
时,我得到以下错误:

Cannot find module 'uglifyjs-webpack-plugin'
Error: Cannot find module 'uglifyjs-webpack-plugin'
    at Function.Module._resolveFilename (module.js:555:15)
    at Function.Module._load (module.js:482:25)
    at Module.require (module.js:604:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/andybarratt/dev/project-name/node_modules/@angular/cli/models/webpack-
configs/production.js:13:24)
    at Module._compile (module.js:660:30)
    at Object.Module._extensions..js (module.js:671:10)
    at Module.load (module.js:573:32)
    at tryModuleLoad (module.js:513:12)
    at Function.Module._load (module.js:505:3)
    at Module.require (module.js:604:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/andybarratt/dev/project-name/node_modules/@angular/cli/models/webpack-
configs/index.js:9:10)
    at Module._compile (module.js:660:30)
    at Object.Module._extensions..js (module.js:671:10)
    at Module.load (module.js:573:32)

帮助?

这是刚刚在他们的GitHub帐户上调用的

只需获得一个早期版本,和/或修复他们的问题并提出请求(PR)。

“uglifyjs webpack plugin”:“1.1.6”
添加到您的package.json,直到他们修复依赖性问题()


您还可以使用命令npmi--save dev uglifyjs webpack-plugin@1.1.6而不是像@Botonomous和@toughskin提到的那样手动编辑package.json

我已经为这个问题争论了一个小时。我通过timjklein36的评论发现了这个问题。我可以通过使用以下工具回滚到以前的版本来解决此问题:

npm i --save-dev uglifyjs-webpack-plugin@1.1.6
GitHub上的timjklein36给出了这个答案。我只希望我能节省一些时间。

最新消息

uglifyjs网页包插件
发布了1.1.8版本,应该可以解决这个问题

您可以通过以下步骤强制本地安装使用此版本:

npm install uglifyjs-webpack-plugin@1.1.8 --save
npm uninstall uglifyjs-webpack-plugin@1.1.8 --save
通过安装和卸载特定版本,您将更新本地npm缓存,以将匹配范围解析为该版本

我想提醒大家,如果使用锁定文件,您只有可复制的安装。NPM v5+和Thread都支持锁定文件。如果您的CI在某一天可以工作,但在第二天无法工作,并且您没有更改代码或package.json,那么很可能是因为您的某个依赖项发布了错误的版本,并且您没有锁定文件

作为图书馆消费者,您有责任使用锁定文件。没有人希望发布一个有bug的版本,但是有时候会发生,我们能做的最好的事情就是用一个新版本尽快修复它。当您有几千个依赖项时,其中一个发布不好只是时间问题


答案来自于检查您的包裹。node_模块正在寻找一个uglifyjs网页包插件。它不是坏了就是不见了。插件可能已经改变,名称改变等无尽的选择。但每个人都会抱怨。我会创建一个新目录,看看问题是否仍然存在,和/或清除此目录并重新执行Angular CLI指令。您也可以不使用CLI,开发Angular项目不需要CLI,它只是一个脚手架工具。我尝试过删除它,并从零开始了几次,似乎是一致的。我知道我不需要CLI,我只是发现这样更容易获得一致的工作项目,因为我经常出错。。。嗯,你知道,它一直在工作到现在。我刚刚发现了完全相同的问题,它安装在我的node_modules文件夹中。我假设你安装了npm-g'@angular cli',我会做一些类似npm uninstall-g@anuglar cli的事情,重新安装,但调用特定的版本,1.6。^从1.6Ah获得最新版本,这很有意义,我不会发疯的!我只是想说,我认为这是一个小时前发布的uglifyjs webpack插件1.1.7版造成的……是的,这种情况时有发生。尝试Angular CLI的早期版本可以解决此问题。问题是您在生产过程中会不时遇到这个问题。npm i--保存dev uglifyjs网页包-plugin@1.1.6暂时修复此问题或使用以下方法:npm i--保存dev uglifyjs网页包-plugin@1.1.6
npm install uglifyjs-webpack-plugin@1.1.8 --save
npm uninstall uglifyjs-webpack-plugin@1.1.8 --save