我想从React应用程序的package.json文件中删除我的用户名和个人访问令牌。
正在安装的软件包是一个私有的远程GitHub存储库,我是该存储库的所有者。
该请求是通过HTTPS协议发出的。
例如:"react-trello": "https://username:token@github.com/username/react-trello.git#dev/branch"
我有一个从GitHub发出的PAT。但我在项目的package.json文件中访问它们时遇到了问题。
我应该创建具有PAT值的Heroku配置变量吗?heroku config:set -a my-app GITHUB-TOKEN=466ghdf57
在Heroku配置中,您可以设置变量名以与GitHub一起使用。如何设置我的用户名、密码和令牌?作为Heroku配置变量?
例如:USERNAME,GITHUB-USER,TOKEN,GITHUB-TOKEN。
我尝试过创建诸如USERNAME、TOKEN、GITHUB_USER之类的变量。但是如果我从package.json文件中删除我的凭据,它就不起作用了。
例如:"react-trello": "https://github.com/username/react-trello.git#dev/branch"。
我得到一个错误:Fatal: Could not read Username for "https://github.com"。
我是不是遗漏了什么?
发布于 2019-04-21 20:33:47
Heroku没有提供开箱即用的功能,而package.json doesn't natively support environment variables。
一种选择是将您的依赖项构建为NPM包,并将其发布到私有包存储库,例如Gemfury,其Heroku addon has a free plan支持单个私有模块。
简单地说,您可以使用https://npm-proxy.fury.io/APPID/ publish your module到Gemfury,然后使用npm login和npm publish。然后,添加一个包含以下内容的.npmrc文件,该文件依赖于您的私有模块
always-auth=true
registry=https://npm-proxy.fury.io/APPID/
//npm-proxy.fury.io/APPID/:_authToken=${FURY_AUTH}并设置一个包含Gemfury auth令牌的Heroku config var FURY_AUTH。
这确实意味着你必须更新你在Gemfury上发布的库,依赖的应用程序才会看到你对它所做的更改。无论如何,这可能是一个好主意;依赖特定的标记版本比依赖可变分支更安全。
还有一个this workaround,它可以让你有效地将环境变量注入到你的package.json中,但我还没有尝试过。
https://stackoverflow.com/questions/55776416
复制相似问题