我想从我的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"
。
我想念什么吗?
答案 0 :(得分:1)
Heroku并没有提供package.json
doesn't natively support environment variables。
一种选择是将依赖项构建为NPM软件包并将其发布在私有软件包存储库中,例如Gemfury,其Heroku addon has a free plan支持单个私有模块。
简而言之,您可以publish your module先后https://npm-proxy.fury.io/APPID/
和npm login
到npm publish
到金弗里。然后,in the Heroku app(取决于您的私有模块)添加包含以下内容的.npmrc
文件
always-auth=true
registry=https://npm-proxy.fury.io/APPID/
//npm-proxy.fury.io/APPID/:_authToken=${FURY_AUTH}
并设置包含您的Gemfury身份验证令牌的Heroku配置变量FURY_AUTH
。
这确实意味着您必须在Gemfury上更新已发布的库,然后从属应用程序才能看到您对其所做的更改。无论如何,这可能是一个好主意。依靠特定的标记发布要比依赖可变的分支更为安全。
还有this workaround可以让您有效地将环境变量注入到package.json
中,但是我还没有尝试过。