我的项目中需要一个模块来下载私有(private)的npm软件包。为此,我使用了.npmrc文件来提供下载程序包所需的只读 token 。为了将npm提供的 token 保留在文件之外,我希望将其添加为环境变量,并使其在文件中扩展。例如:

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

在安装引用之前,我不知道如何将NPM_TOKEN添加到环境中。我尝试使用npm预安装脚本:
"preinstall": "NPM_READ_ONLY_TOKEN=my_token_goes_here_foo_bar" **

但是我仍然遇到相同的错误:
Error: Failed to replace env in config: ${NPM_READ_ONLY_TOKEN}

我尝试使用echo命令进行测试,以查看preinstall是否在.npmrc变量扩展之前运行,但显然没有。我会收到错误,但看不到我的回声日志。我似乎在这里错过了一些东西。

我知道将 token 放入package.json会破坏将 token 从.npmrc文件中拉出的目的。我实际上正在使用提供env config服务的服务,该服务将用于运行命令并获取所需的 token 。例如。 TOKEN=config_service_value

最佳答案

您可以将环境变量添加到.bashrc或其他启动 shell 文件中。
export NPM_TOKEN=my_token_goes_here_foo_bar

09-03 22:35