Saltar al contenido

La configuración global de nodejs npm falta en Windows

Solución:

Hay un problema con la actualización de npm en Windows. La instalación inicial realizada como parte de la instalación de nodejs usando un paquete msi creará un archivo npmrc:

C:Program Filesnodejsnode_modulesnpmnpmrc

cuando actualiza npm usando:

npm install -g [email protected]

instalará la nueva versión en:

C:UsersJackAppDataRoamingnpm

asumiendo que su nombre es Jack, que es% APPDATA% npm.

La nueva instalación no incluye un archivo npmrc y sin él, el directorio raíz global se basará en el lugar desde donde se ejecutó el nodo, por lo tanto, es C:Program Filesnodejsnode_modules

Puede verificar esto ejecutando:

npm root -g

Esto no funcionará ya que npm no tiene permiso para escribir en el "Program Files" directorio. Debe copiar el archivo npmrc de la instalación original en la nueva instalación. De forma predeterminada, el archivo solo tiene la siguiente línea:

prefix=${APPDATA}npm

Para mí (estando en Windows 10), el archivo npmrc se encontraba en:

%USERPROFILE%.npmrc

Probado con:

  • npm v4.2.0
  • Node.js v7.8.0

Parece los archivos npm utiliza para editar sus archivos de configuración no se crean en una instalación limpia, ya que npm tiene una opción predeterminada para cada uno. Es por eso que aún puede obtener opciones con npm config get <option>: tener esos archivos solo anula los valores predeterminados, no crea las opciones desde cero.

Nunca había tocado mi npm config cosas antes de hoy, a pesar de que lo había tenido durante meses. Ninguno de los archivos estaba allí todavía, como ~/.npmrc (en una máquina con Windows 8.1 con Git Bash), pero podría correr npm config get <something> y, si fuera un correcto npm opción, devolvió un valor. Cuando corrí npm config set <option> <value>, el archivo ~/.npmrc parecía crearse automáticamente, con la opción & su valor como la única línea sin comentarios.

En cuanto a las opciones de eliminación, parece que esto simplemente restablece el valor al valor predeterminado, o no hace nada si esa opción nunca se configuró o no se configuró y nunca se restableció. Además, si esa opción es la única opción establecida explícitamente, parece que ~/.npmrc también se elimina y se vuelve a crear si set cualquier otra cosa más tarde.

En su caso (suponiendo que siga siendo el mismo más de un año después), parece que nunca configuró el proxy opción en npm. Por lo tanto, como npm‘s config dice la página de ayuda, está configurada para lo que sea http_proxy (que no distingue entre mayúsculas y minúsculas) es la variable de entorno. Esto significa que no hay nada que delete, a menos que desee “eliminar” su proxy HTTP, aunque podría set la opción o variable de entorno a otra cosa y espero que ninguna de las dos interrumpa su configuración de alguna manera.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *