Answers:
要回答其中一个问题,必须同时在全局和本地安装该工具才能使用。
如果尝试ng serve
在没有本地安装CLI的应用程序上运行(仅全局安装),则会出现以下错误。
您必须在Angular CLI项目中才能使用serve命令。
它还将打印此消息:
Please take the following steps to avoid issues:
"npm install --save-dev @angular/cli@latest"
运行该npm
命令以在本地更新CLI,并避免收到警告。
其他问题:它看起来像他们不具备可同步,但它可能是最好的,他们是为了避免与工具或工具生成的代码中的任何不一致的任何异常行为。
为什么我们既需要全局安装又需要本地安装?
需要全局安装才能启动新的应用程序。该ng new <app-name>
命令使用CLI的全球安装运行。实际上,如果您尝试在ng new
现有CLI应用程序的文件夹结构中运行时,会收到以下可爱错误:
您不能
new
在Angular CLI项目中使用该命令。
这可以从全局来运行其他命令安装的ng help
,ng get/set
与--global
选项ng version
,ng doc
和ng completion
。
在构建应用程序之后,将使用CLI的本地安装。这样,当新版本的CLI可用时,您可以更新全局安装,而不会影响本地安装。这有利于项目的稳定性。大多数ng
命令才有意义与本地版本,如lint
,build
和serve
等。
根据CLI GitHub 自述文件,要更新CLI,必须更新全局和本地软件包。但是,到目前为止,我使用的CLI的全局和本地版本有所不同。如果我遇到与使全局和本地CLI版本不同步有关的错误,我将在此处发布。
这对我有用:它将本地版本更新为最新版本
npm uninstall --save-dev angular-cli
npm install --save-dev @angular/cli@latest
npm install
验证版本
ng --version
npm uninstall -g @angular/cli
npm cache verify
npm install -g @angular/cli@latest
然后在您的本地项目包中:
rm -rf node_modules dist
npm install --save-dev @angular/cli@latest
npm i
ng update @angular/cli
ng update @angular/core
npm install --save-dev @angular-devkit/build-angular
出现以下错误错误:JSON输入的意外结束JSON输入的意外结束这篇文章帮助的上述步骤无法将angular更新到版本6
我英文不太流利
但是,如果我了解问题所在,是否是在项目本地中使用的CLI版本比全局版本中的旧?
您是否要使用此全球更新而不是本地的旧版本?
如果是这样,一个非常简单的方法就足以在项目目录中运行 npm link @angular/cli
有关页面主题的更多信息:https : //docs.npmjs.com/cli/link
您只需要更新AngularCli
npm install --save-dev @angular/cli@latest
更新工作区的Angular CLI(本地)
npm install --save -dev @angular/cli@latest
注意:如果安装正确,请确保使用带有-g命令的全局版本。
npm install -g @angular/cli@latest
运行更新命令以获取需要升级的所有依赖项的列表
ng update
对于每个单独的Angular核心软件包,如下所示的Next Run update命令
ng update @angular/cli @angular/core
但是,我必须另外添加“ -force”和“ -allow-dirty”标志命令来修复所有其他未解决的问题。
ng update @angular/cli @angular/core --allow-dirty --force
做这些事
npm install --save-dev @angular/cli@latest
npm audit fix
npm audit fix --force
npm install --save-dev @ angular-devkit / build-angular-帮助ng更新@ angular / cli->确实创建了angular.json和其他更新。
收集已安装的依赖项...找到58个依赖项。
** Executing migrations for package '@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 (4394 bytes) CREATE browserslist (429 bytes) UPDATE karma.conf.js (993 bytes) UPDATE public/tsconfig.spec.json (295 bytes) UPDATE package.json (2618 bytes) UPDATE tsconfig.json (437 bytes) UPDATE tslint.json (3135 bytes) UPDATE public/polyfills.ts (587 bytes) UPDATE public/tsconfig.app.json (199 bytes) npm WARN @angular/core@5.2.9 requires a peer of zone.js@^0.8.4 but none is installed. You must install peer dependencies yourself.
删除当前的角度并安装特定版本。
检查版本
ng --version
如果不需要,请卸载版本
npm卸载-g @ angular / cli
如果npm vesrion <5.x
npm缓存清理
验证缓存
npm缓存验证
安装特定版本
npm install -g @ angular / cli @ major.minor.patch