首页 文章

Global Angular CLI版本大于本地版本

提问于
浏览
177

运行ng服务时,我收到有关我的全局CLI版本大于本地版本的警告 . 我没有注意到这个警告的任何问题,但我想知道这两个版本是否应该同步?此外,如果您有全球版本,是否有必要拥有本地版本?

警告:

您的全局Angular CLI版本(1.1.1)大于本地版本(1.0.6) . 使用本地Angular CLI版本 .

10 回答

  • 5

    要回答其中一个问题,必须同时进行全局和本地安装才能使工具正常工作 .

    如果您尝试在没有本地安装CLI的应用程序上运行 ng serve (仅限全局安装),则会出现以下错误 .

    您必须在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的全局安装运行 . 实际上,如果您尝试在现有CLI应用程序的文件夹结构中运行 ng new ,则会收到以下可爱错误:

    您无法在Angular CLI项目中使用新命令 .

    可以从全局安装运行的其他命令是 ng helpng get/set ,带有 --global 选项, ng versionng docng completion .

    构建应用程序后,将使用CLI的本地安装 . 这样,当新版本的CLI可用时,您可以更新全局安装,而不会影响本地安装 . 这有利于项目的稳定性 . 大多数 ng 命令仅适用于本地版本,如 lintbuildserve 等 .

    根据CLI GitHub readme,要更新CLI,您必须更新全局和本地程序包 . 但是,我使用了CLI,其中全局和本地版本到目前为止没有任何问题 . 如果我遇到与全局和本地CLI版本不同步相关的错误,我将在此处发布 .

  • 24

    这就是我解决这个问题的方法 .

    Install latest Angular CLI package locally

    复制并运行这些命令

    ng --version
    npm install --save-dev @angular/cli@latest
    ng --version
    
  • -18

    这对我有用:它会将本地版本更新为最新版本

    npm uninstall --save-dev angular-cli
    npm install --save-dev @angular/cli@latest
    npm install
    

    验证版本

    ng --version
    
  • 2
    npm uninstall --save-dev angular-cli
    npm install --save-dev @angular/cli@latest
    

    您可以通过运行以下命令自动更新现有配置:

    ng update @angular/cli
    

    要么:

    npm install
    
  • 270
    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

  • 84

    运行以下命令: npm install --save-dev @angular/cli@latest

    运行上述命令后,控制台可能会弹出以下消息

    Angular CLI配置格式已更改,您可以通过运行以下命令自动更新现有配置:ng update @ angular / cli

  • -9

    首先通过运行找出全局angular-cli版本

    ng --version
    

    上面的代码将显示全局和本地angular-cli版本的版本 .

    如果您希望全局和局部角度cli相同,您可以这样做

    npm install --save-dev @angular/cli@1.7.4
    

    1.7.4是你的全球angular-cli版本

    然后,如果你运行 ng serve --open ,你的代码应该运行 .

  • 2

    我英语不流利

    但是如果我理解了这个问题,那么在项目本地你是否拥有比全球更早的CLI版本?

    你想使用这个全球新版本而不是本地较旧版本吗?

    如果是这样,一个非常简单的方法足以在项目目录中运行 npm link @angular/cli

    更多关于此页面的主题:https://docs.npmjs.com/cli/link

  • 3

    将NouisliderComponent放入声明而不是导入 .

    @NgModule({
     declarations: [
    AppComponent,
    NouisliderComponent
    ],
    imports: [
    BrowserModule,
    FormsModule,
    HttpModule,
    
    ],
    providers: [],
    bootstrap: [AppComponent]
    })
    export class AppModule { }`
    

    更多请参考以下网址:https://github.com/tb/ng2-nouislider/issues/38

  • 8

    谢谢工作很好的更新,有一个替代,我不建议 .

    ng set --global warnings.versionMismatch=false
    

相关问题