> Faqs > Instalar distintas versiones de Angular CLI

Instalar distintas versiones de Angular CLI

Hola! Tengo un pequeño problema con el angular-cli. Debido a la actualización de Angular cli para un proyecto en concreto, se ha renovado la versión y ahora en proyectos antiguos el Angular cli me arroja errores.

Me preguntaba si existe la posibilidad de tener dos versiones diferentes de angular-cli instaladas en un mismo computador, y poder usar ambas, la que sea necesaria para cada proyecto.

Por si sirve de ayuda, tengo instalado Angular 7 en un proyecto y Angular 8 en otro. El problema lo tengo cuando intento usar angular-cli en el proyecto con Angular 7. Muchas gracias!

Responder la pregunta
Editar Hacer otra preguntaPreguntar

Respuestas

La solución es simplemente usar una instalación local del angular CLI. Local al proyecto, en vez de global a todo el ordenador.

Es decir, aunque tengas instalado Angular CLI en tu ordenador, de manera global, lo vas a instalar de manera local al proyecto.

  1. Entras en la carpeta de tu proyecto, la raíz, donde tienes el archivo package.json
  2. Instalas el Angular CLI
npm install -D @angular/cli

Fíjate que en vez de "-g" hemos colocado "-D" para indicar que NO es una instalación global y para indicar que es una dependencia de desarrollo.

Una vez que la dependencia se ha instalado de manera local al proyecto, en vez de hacer "ng serve" o cualquier comando (que produciría la ejecución de la instalación global de Angular CLI que tengas), puedes ejecutarla de la siguiente manera:

Opción 1) Usando la ruta donde está el archivo:

node_modules/.bin/ng <tu_comando>

Opción 2) Creando un script de npm Si lo sabes hacer, puedes crear un script de npm, en el package.json, que corra los comandos que necesites. Cuando tienes el script de npm, siempre va a ejecutar los comandos con las versiones instaladas en local. De ese modo podrás hacer algo como "npm run ng:serve" para correr el servidor de desarrollo de Angular CLI en la versión local.

El script de npm puede parecerse a algo como esto:

"scripts": {
    "ng:serve": "ng serve",

Si te diese algún problema puedes asegurarte que se ejecuta el programa en la versión local, colocando la ruta:

"scripts": {
    "ng:serve": "./node_modules/.bin/ng serve",
Miguel Angel
263 16 15 1