运行ng服务时,我收到有关我的全局CLI版本大于本地版本的警告 . 我没有注意到这个警告的任何问题,但我想知道这两个版本是否应该同步?此外,如果您有全球版本,是否有必要拥有本地版本?
警告:
您的全局Angular CLI版本(1.1.1)大于本地版本(1.0.6) . 使用本地Angular CLI版本 .
要回答其中一个问题,必须同时进行全局和本地安装才能使工具正常工作 .
如果您尝试在没有本地安装CLI的应用程序上运行 ng serve (仅限全局安装),则会出现以下错误 .
ng serve
您必须在Angular CLI项目中才能使用serve命令 .
它还会打印此消息:
Please take the following steps to avoid issues: "npm install --save-dev @angular/cli@latest"
运行该 npm 命令以在本地更新CLI,并避免收到警告 .
npm
其他问题:看起来它们不必同步,但它们最好是为了避免使用该工具的任何异常行为,或者与工具生成的代码有任何不一致 .
为什么我们需要全局安装和本地安装?
启动新应用程序需要全局安装 . ng new <app-name> 命令使用CLI的全局安装运行 . 实际上,如果您尝试在现有CLI应用程序的文件夹结构中运行 ng new ,则会收到以下可爱错误:
ng new <app-name>
ng new
您无法在Angular CLI项目中使用新命令 .
可以从全局安装运行的其他命令是 ng help , ng get/set ,带有 --global 选项, ng version , ng doc 和ng completion .
ng help
ng get/set
--global
ng version
ng doc
构建应用程序后,将使用CLI的本地安装 . 这样,当新版本的CLI可用时,您可以更新全局安装,而不会影响本地安装 . 这有利于项目的稳定性 . 大多数 ng 命令仅适用于本地版本,如 lint , build 和 serve 等 .
ng
lint
build
serve
根据CLI GitHub readme,要更新CLI,您必须更新全局和本地程序包 . 但是,我使用了CLI,其中全局和本地版本到目前为止没有任何问题 . 如果我遇到与全局和本地CLI版本不同步相关的错误,我将在此处发布 .
这就是我解决这个问题的方法 .
复制并运行这些命令
ng --version npm install --save-dev @angular/cli@latest ng --version
这对我有用:它会将本地版本更新为最新版本
npm uninstall --save-dev angular-cli npm install --save-dev @angular/cli@latest npm install
验证版本
ng --version
npm uninstall --save-dev angular-cli npm install --save-dev @angular/cli@latest
您可以通过运行以下命令自动更新现有配置:
ng update @angular/cli
要么:
npm install
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输入的意外结束上面的步骤帮助了这篇文章Can't update angular to version 6
运行以下命令: npm install --save-dev @angular/cli@latest
npm install --save-dev @angular/cli@latest
运行上述命令后,控制台可能会弹出以下消息
Angular CLI配置格式已更改,您可以通过运行以下命令自动更新现有配置:ng update @ angular / cli
首先通过运行找出全局angular-cli版本
上面的代码将显示全局和本地angular-cli版本的版本 .
如果您希望全局和局部角度cli相同,您可以这样做
npm install --save-dev @angular/cli@1.7.4
1.7.4是你的全球angular-cli版本
然后,如果你运行 ng serve --open ,你的代码应该运行 .
ng serve --open
我英语不流利
但是如果我理解了这个问题,那么在项目本地你是否拥有比全球更早的CLI版本?
你想使用这个全球新版本而不是本地较旧版本吗?
如果是这样,一个非常简单的方法足以在项目目录中运行 npm link @angular/cli
npm link @angular/cli
更多关于此页面的主题:https://docs.npmjs.com/cli/link
将NouisliderComponent放入声明而不是导入 .
@NgModule({ declarations: [ AppComponent, NouisliderComponent ], imports: [ BrowserModule, FormsModule, HttpModule, ], providers: [], bootstrap: [AppComponent] }) export class AppModule { }`
更多请参考以下网址:https://github.com/tb/ng2-nouislider/issues/38
谢谢工作很好的更新,有一个替代,我不建议 .
ng set --global warnings.versionMismatch=false
10 回答
要回答其中一个问题,必须同时进行全局和本地安装才能使工具正常工作 .
如果您尝试在没有本地安装CLI的应用程序上运行
ng serve
(仅限全局安装),则会出现以下错误 .它还会打印此消息:
运行该
npm
命令以在本地更新CLI,并避免收到警告 .其他问题:看起来它们不必同步,但它们最好是为了避免使用该工具的任何异常行为,或者与工具生成的代码有任何不一致 .
为什么我们需要全局安装和本地安装?
启动新应用程序需要全局安装 .
ng new <app-name>
命令使用CLI的全局安装运行 . 实际上,如果您尝试在现有CLI应用程序的文件夹结构中运行ng new
,则会收到以下可爱错误:可以从全局安装运行的其他命令是
ng help
,ng get/set
,带有--global
选项,ng version
,ng doc
和ng completion .构建应用程序后,将使用CLI的本地安装 . 这样,当新版本的CLI可用时,您可以更新全局安装,而不会影响本地安装 . 这有利于项目的稳定性 . 大多数
ng
命令仅适用于本地版本,如lint
,build
和serve
等 .根据CLI GitHub readme,要更新CLI,您必须更新全局和本地程序包 . 但是,我使用了CLI,其中全局和本地版本到目前为止没有任何问题 . 如果我遇到与全局和本地CLI版本不同步相关的错误,我将在此处发布 .
这就是我解决这个问题的方法 .
复制并运行这些命令
这对我有用:它会将本地版本更新为最新版本
验证版本
您可以通过运行以下命令自动更新现有配置:
要么:
然后在您的本地项目包中:
得到以下错误错误:JSON输入的意外结束JSON输入的意外结束上面的步骤帮助了这篇文章Can't update angular to version 6
运行以下命令:
npm install --save-dev @angular/cli@latest
运行上述命令后,控制台可能会弹出以下消息
首先通过运行找出全局angular-cli版本
上面的代码将显示全局和本地angular-cli版本的版本 .
如果您希望全局和局部角度cli相同,您可以这样做
1.7.4是你的全球angular-cli版本
然后,如果你运行
ng serve --open
,你的代码应该运行 .我英语不流利
但是如果我理解了这个问题,那么在项目本地你是否拥有比全球更早的CLI版本?
你想使用这个全球新版本而不是本地较旧版本吗?
如果是这样,一个非常简单的方法足以在项目目录中运行
npm link @angular/cli
更多关于此页面的主题:https://docs.npmjs.com/cli/link
将NouisliderComponent放入声明而不是导入 .
更多请参考以下网址:https://github.com/tb/ng2-nouislider/issues/38
谢谢工作很好的更新,有一个替代,我不建议 .