Я не могу получить файл моего проекта .npmrc для распознавания любой из переменных среды, установленных в трех различных областях (проект, пользователь, глобальный).
Единственный способ установкизакрытый модуль заключается в жестком кодировании ключа api в файл .npmrc, что, очевидно, недопустимо, поскольку git отслеживает .npmrc.
Я попытался создать переменные среды в виде npm-config
docs предложить, то есть:
- в файле проекта
.env
, где и файл .npmrc
, и файл .env
являются родственными элементами package.json
, то есть: fontawesome_pro_token=ABC123
- в файле конфигурации пользователя, например:
$ npm set fontawesome_pro_token ABC123
- в файле глобальной конфигурации, например:
$ npm set fontawesome_pro_token ABC123 --global
Когда я ссылаюсь на переменную env в проекте.npmrc
файл, то есть:
@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?
Между прочим - если при развертывании частных модулей в Netlify, Netlify ожидает, что файл .npmrc будет использовать фигурные скобки для синтаксиса env var, см. this gist .Я могу подтвердить, что использование синтаксиса фигурных скобок в файле npmrc для git watched вместе с установкой env var build в панели администратора проекта netlify действительно работает.