无法运行新的Angular CLI项目

时间:2018-01-29 19:56:43

标签: angular npm angular-cli

我已经完成了面试的家庭作业。它需要在Angular中完成,所以我想在开始之前我会快速升级Node.js,NPM和Angular CLI。看起来这是一个坏主意。

运行我的命令之后:ng new project-name --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)

我无法在任何地方找到任何涉及Angular的错误。正如我所说,这是一个完全干净的项目;我还没有开始编码。

正在运行ng --version给我这个:

    _                      _                 ____ _     ___
   / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
  / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
 / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
/_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
               |___/

Angular CLI: 1.6.6
Node: 9.4.0
OS: darwin x64
Angular: 5.2.2
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

@angular/cli: 1.6.6
@angular-devkit/build-optimizer: 0.0.42
@angular-devkit/core: 0.0.29
@angular-devkit/schematics: 0.0.52
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.9.6
@schematics/angular: 0.1.17
typescript: 2.5.3
webpack: 3.10.0

帮助?

4 个答案:

答案 0 :(得分:13)

暂时将"uglifyjs-webpack-plugin": "1.1.6"添加到您的package.json,直到他们修复了依赖项问题(https://github.com/angular/angular-cli/issues/9427

你也可以使用命令npm i --save-dev uglifyjs-webpack-plugin@1.1.6而不是手动编辑package.json @Botonomous和@toughskin提到

答案 1 :(得分:12)

这只是在他们的GitHub帐户https://github.com/angular/angular-cli/issues/9427上调出来的。

只需获取早期版本,和/或修复问题并提出拉取请求(PR)。

答案 2 :(得分:1)

作为最新的

uglifyjs-webpack-plugin 发布了1.1.8版本,可以解决此问题。

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

npm install uglifyjs-webpack-plugin@1.1.8 --save
npm uninstall uglifyjs-webpack-plugin@1.1.8 --save

通过安装和卸载特定版本,您将更新本地npm缓存以解析与该版本匹配的范围。

我想提醒大家,如果您使用锁定文件,那么您只能进行可重现的安装。 NPM v5 +和Yarn都支持锁定文件。如果您的CI工作一天而不是下一天并且您没有更改您的代码或package.json,则可能是因为您的某个依赖项发布错误而您没有锁定文件。

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

回答来自 Can't serve due to uglifyjs-webpack-plugin 1.1.7 release

答案 3 :(得分:0)

我一直在争论这个问题一个小时。我通过使用timjklein36的评论找到了问题here。我能够通过使用以下命令回滚到以前的版本来解决问题:

npm i --save-dev uglifyjs-webpack-plugin@1.1.6

对于这个答案,所有归功于GitHub上的timjklein36。我只希望能在某个时候保存一些。