我需要我的项目中的一个模块来下载一个私有的npm包。为此,我使用一个.npmrc文件来提供下载包所需的只读令牌。为了将npm提供的标记保留在文件之外,我希望将其作为环境变量添加,并让它在文件中展开。例如:
# .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变量展开之前运行,但显然没有。我会得到错误,并且看不到我的回显日志。我好像遗漏了什么。
我知道将令牌放在package.json中与从.npmrc文件中提取令牌的目的背道而驰。我实际使用的是一个提供env config服务的服务,我将使用该服务来运行命令并获取所需的令牌。例如,TOKEN=config_service_value。
发布于 2018-12-14 23:58:28
您可以将环境变量添加到.bashrc或其他启动shell文件中。
export NPM_TOKEN=my_token_goes_here_foo_bar
https://stackoverflow.com/questions/48728714
复制相似问题