Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

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

Estoy tratando de crear una aplicación de reacción, pero cuando ejecuto el comando npm -i me da el siguiente error:

 Error: Failed to replace env in config: ${NPM_TOKEN} at /usr/local/lib/node_modules/npm/lib/config/core.js:415:13 at String.replace (<anonymous>) at envReplace (/usr/local/lib/node_modules/npm/lib/config/core.js:411:12) at parseField (/usr/local/lib/node_modules/npm/lib/config/core.js:389:7) at /usr/local/lib/node_modules/npm/lib/config/core.js:330:24 at Array.forEach (<anonymous>) at Conf.add (/usr/local/lib/node_modules/npm/lib/config/core.js:328:23) at ConfigChain.addString (/usr/local/lib/node_modules/npm/node_modules/config-chain/index.js:244:8) at Conf.<anonymous> (/usr/local/lib/node_modules/npm/lib/config/core.js:316:10) at /usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:78:16 /usr/local/lib/node_modules/npm/lib/npm.js:61 throw new Error('npm.load() required') ^ Error: npm.load() required at Object.get (/usr/local/lib/node_modules/npm/lib/npm.js:61:13) at process.errorHandler (/usr/local/lib/node_modules/npm/lib/utils/error-handler.js:205:18) at process.emit (events.js:182:13) at process._fatalException (internal/bootstrap/node.js:448:27)

Estoy usando MacOS High Sierra. Traté de configurar NPM_TOKEN como una variable de entorno con el siguiente comando:

 set -x NPM_TOKEN = xyz

pero no funciona ¿Cuál es el problema?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Primera solución posible:

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

Segunda solución posible:

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

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

Tercera solución posible

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 guardar
over 4 years ago · Santiago Trujillo Denunciar

0

Solución realmente adecuada

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

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

Elimine esta línea del archivo .npmrc :

 //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 NPM.

Por qué las otras "soluciones" son meras soluciones

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

La cuestión es que es posible que su sistema VCS no ignore el archivo .npmrc y que modificarlo podría generar inserciones accidentales en el 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}

over 4 years ago · Santiago Trujillo Denunciar

0

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.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda