我正在使用来自 GitHub 的私有包。尝试部署时,Heroku 会忽略我的.npmrc
文件配置。
在本地,我的环境文件如下所示:
NPM_CONFIG_GITHUB_TOKEN=[token]
然后,我的.npmrc
文件如下所示:
[username]:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=$GITHUB_TOKEN
有了这个配置,我就可以在本地运行它了。在 Heroku 中,我收到以下错误:
-----> Node.js app detected
-----> Creating runtime environment
NPM_CONFIG_LOGLEVEL=error
NPM_CONFIG_GITHUB_TOKEN=[token]
NODE_ENV=production
NODE_MODULES_CACHE=true
NODE_VERBOSE=false
-----> Installing binaries
engines.node (package.json): 12.13.x
engines.npm (package.json): unspecified (use default)
Resolving node version 12.13.x...
Downloading and installing node 12.13.1
Using default npm version: 6.12.1
-----> Restoring cache
Cached directories were not restored due to a change in version of node, npm, yarn or stack
Module installation may take longer for this build
-----> Installing dependencies
Installing node modules
npm ERR! code E401
npm ERR! 401 Unauthorized - GET https://npm.pkg.github.com/download/[package]
npm ERR! A complete log of this run can be found in:
npm ERR! /tmp/npmcache.P5iPk/_logs/2020-08-03T18_44_16_744Z-debug.log
-----> Build failed
完整的日志说同样的话。但是,如果我更改.npmrc
为:
[username]:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN}
...它在 Heroku 中运行良好,但在本地中断。
任何人都可以就我在这里做错了什么提供一些指导吗?我已经研究了几个小时没有成功。虽然显而易见的解决方案是不同的本地版本,但这是一个开源项目,我希望能够提供简单的安装说明。