Saltar al contenido

NPM: no se pudo reemplazar env en la configuración: $ {NPM_TOKEN}

Solución:

Primera solución posible:

Solución simple: rm -f ./.npmrc (Eliminando un archivo .npmrc)

Segunda posible solución:

Sin embargo, si no desea eliminar el archivo, simplemente puede eliminar esta línea de código en el .npmrc expediente.

Línea de código: //registry.npmjs.org/:_authToken=${NPM_TOKEN} (Eliminar este código)

Tercera posible solución

Peor de los casos:

  • nano ~/.bash_aliases o nano ~/.bash_profile
  • agregar export NPM_TOKEN="XXXXX-XXXXX-XXXXX-XXXXX"
  • CTRL + X para salir
  • Y para ahorrar

Solución realmente adecuada

Actualice su configuración de implementación de CI:

npm config set '//registry.npmjs.org/:_authToken' "${NPM_TOKEN}"
npm publish

Quite esta línea del .npmrc expediente:

//registry.npmjs.org/:_authToken=${NPM_TOKEN}

Ejemplo de configuración de compilación

Puede ver esta solución utilizada en la práctica en uno de mis repositorios de GitHub: https://github.com/Jezorko/lambda-simulator/blob/master/.travis.yml

La variable de entorno cifrada es un token de NPM.

Por qué las otras “soluciones” son meras soluciones

He visto respuestas aquí y en esta pregunta que recomiendan simplemente eliminar la línea de configuración de la variable o .npmrc archivo completo.

La cosa es que .npmrc Es posible que su sistema VCS no ignore el archivo, y modificarlo podría dar lugar a envíos accidentales al repositorio de su proyecto. Además, el archivo puede contener otras configuraciones importantes.

El problema aquí es que .npmrc no permite valores predeterminados al configurar variables de entorno. Por ejemplo, si se permitiera la siguiente sintaxis, el problema no existiría:

//registry.npmjs.org/:_authToken=${NPM_TOKEN:-undefined}

Tengo una solución fácil para este problema. Después de configurar su NPM_TOKEN globalmente en su entorno, reemplace

//registry.npmjs.org/:_authToken=${NPM_TOKEN}

con

//registry.npmjs.org/:_authToken=$NPM_TOKEN

Me ha funcionado bien en macOS Catalina.

¡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 *