我无法让我的项目.npmrc文件识别在三个不同范围(项目、用户、全局)设置的任何环境变量。
安装私有模块的唯一方法是将api键硬编码到.npmrc文件中,这显然是不能接受的,因为.npmrc是由git监视的。
我尝试过按照文档的建议创建环境变量,即:
.env文件中,.npmrc文件和.env文件都是package.json的同级文件,即:fontawesome_pro_token=ABC123$ npm set fontawesome_pro_token ABC123$ npm set fontawesome_pro_token ABC123 --global当我在项目.npmrc文件中引用env变量时,即:
@fortawesome:registry=https://npm.fontawesome.com/
//npm.fontawesome.com/:_authToken=${fontawesome_pro_token}我知道这个错误:
Error: Failed to replace env in config: ${fontawesome_pro_token}当我移除变量名周围的大括号(正如此堆栈溢出响应建议的那样)时,我会得到以下错误:
npm ERR! 401 Unauthorized关于如何配置npm以读取env变量的建议吗?
Incidentally --如果将私有模块部署到Netlify,则Netlify希望.npmrc文件使用env语法的大括号,参见这个要旨。我可以确认,在git监视的npmrc文件中使用curly大括号语法以及netlify项目管理仪表板中的设置build确实有效。
发布于 2022-06-15 16:51:21
使用您的env没有花括号,例如:
$fontawesome_pro_token发布于 2019-05-01 00:40:31
当引用.env文件或处理环境变量时,将大写字母改为大写
@fortawesome:registry=https://npm.fontawesome.com/ //npm.fontawesome.com/:_authToken=${FONTAWESOME_PRO_TOKEN}
https://stackoverflow.com/questions/55543361
复制相似问题