小能豆

NPM - 无法替换配置中的环境:${NPM_TOKEN}

javascript

我正在尝试构建一个 React 应用程序,但是当我执行命令时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

但它不起作用。问题是什么?


阅读 23

收藏
2024-06-10

共1个答案

小能豆

您遇到的错误表明${NPM_TOKEN}您的 npm 配置中的环境变量未正确替换。这种情况通常在环境变量设置不正确或设置时出现语法错误时发生。

NPM_TOKEN以下是在 MacOS 上正确设置环境变量并解决问题的步骤:

1.正确设置环境变量

确保设置环境变量时等号两边不带空格。在 MacOS(和其他类 Unix 系统)上,可以使用以下命令在 shell 中设置环境变量:

export NPM_TOKEN=xyz

2. 验证环境变量是否已设置

您可以通过运行以下命令来验证环境变量是否设置正确:

echo $NPM_TOKEN

xyz如果环境变量设置正确,则应该输出此内容。

3. 使用正确的 npm 命令

您的 npm 命令似乎有拼写错误。npm -i安装依赖项的正确命令应该是 ,而不是npm install,或者直接是npm i

npm install

4.检查你的 npm 配置文件

有时,问题可能出在您的.npmrc配置文件中。确保您的.npmrc文件(通常位于您的主目录或项目目录中)NPM_TOKEN正确引用。它应该看起来像这样:

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

解决的完整步骤

  1. 打开你的终端。

  2. 设置

NPM_TOKEN

环境变量:

export NPM_TOKEN=xyz

  1. 验证环境变量是否已设置:

echo $NPM_TOKEN

  1. 运行正确的 npm install 命令:

npm install

如果仍然遇到问题,请确保在设置环境变量后重新启动终端会话或获取 shell 配置文件(例如.bashrc或):.zshrc

source ~/.bashrc  # for bash users
source ~/.zshrc   # for zsh users

.bashrc 或 .zshrc 文件中的示例

为了使其NPM_TOKEN在终端会话中持久存在,请将导出命令添加到您的.bashrc.zshrc文件中:

export NPM_TOKEN=xyz

然后,获取文件:

source ~/.bashrc  # for bash users
source ~/.zshrc   # for zsh users

完成这些步骤后,尝试npm install在项目目录中再次运行。这应该可以解决问题并允许 npm 正确替换${NPM_TOKEN}配置中的占位符。

2024-06-10