J'essaie de créer une application React, mais lorsque j'exécute la commande npm -i
cela me donne l'erreur suivante:
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)
J'utilise MacOS High Sierra. J'ai essayé de définir NPM_TOKEN en tant que variable d'environnement avec la commande suivante:
set -x NPM_TOKEN = xyz
mais ça ne marche pas. Quel est le problème?
Solution simple: rm -f ./.npmrc
(Suppression d'un fichier .npmrc)
Cependant, si vous ne souhaitez pas supprimer le fichier, vous pouvez simplement supprimer cette ligne de code dans le .npmrc
fichier.
Ligne de code: //registry.npmjs.org/:_authToken=${NPM_TOKEN}
(Supprimer ce code)
Pire scénario:
nano ~/.bash_aliases
ou nano ~/.bash_profile
export NPM_TOKEN="XXXXX-XXXXX-XXXXX-XXXXX"
Si vous venez de définir votre ~/.profile pour la première fois (OSX, Ubuntu) et que vous avez ajouté cette ligne: export NPM_TOKEN = "XXXXX-XXXXX-XXXXX-XXXXX". Ensuite, vous devez entrer cette ligne dans le terminal par la suite:
source ~/.profile
Pour les personnes sur Ubuntu venant de Google:
Fonctionnement npm install
dans un IDE (comme WebStorm) était mon problème. J'ai ajouté la variable d'environnement NPM_TOKEN à .bash_profile
et redémarré mon Terminal, mais pas mon IDE! Le IDE n'a pas repris les modifications apportées à l'environnement avant que je ne le redémarre également.