Heroku не может правильно использовать переменную NPM_CONFIG при развертывании
Я использую частный пакет от 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, но ломается локально.
Может ли кто-нибудь подсказать, что я здесь делаю неправильно? Я исследовал это часами безуспешно. Хотя очевидным решением является другая локальная версия, это проект с открытым исходным кодом, и я хочу иметь возможность предоставить простые инструкции по установке.
1 ответ
Когда я развертываю на Heroku, я обычно устанавливаю переменные среды в настройках моего приложения на Heroku, и у меня никогда не было проблем, вы можете попробовать это