我正在尝试构建一个反应应用程序,但是当我执行命令 npm -i
它给我以下错误:
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)
我正在使用 MacOS High Sierra。我尝试使用以下命令将 NPM_TOKEN 设置为环境变量:
set -x NPM_TOKEN = xyz
但它不起作用。问题是什么?
原文由 funtik 发布,翻译遵循 CC BY-SA 4.0 许可协议
第一个可能的解决方案:
简单解决方案:
rm -f ./.npmrc
(删除.npmrc文件)第二种可能的解决方案:
但是,如果您不想删除该文件,您可以简单地删除
.npmrc
文件中的这行代码。代码行:
//registry.npmjs.org/:_authToken=${NPM_TOKEN}
(删除此代码)第三种可能的解决方案
最坏的情况是:
nano ~/.bash_aliases
或nano ~/.bash_profile
export NPM_TOKEN="XXXXX-XXXXX-XXXXX-XXXXX"