Мне нужен модуль в моем проекте для загрузки частного пакета npm. Для этого я использую файл .npmrc
для предоставления доступного только для чтения токена, необходимого для загрузки пакета. Чтобы токен, предоставленный npm, не попал в файл, я хочу добавить его в качестве переменной среды и позволить ему расширяться в файле. Например:
# .npmrc
//registry.npmjs.org/:_authToken=${NPM_TOKEN}
Я не могу понять, как добавить этот NPM_TOKEN
в env до того, как на него будет ссылаться установка. Я пробовал использовать сценарий предварительной установки npm:
"preinstall": "NPM_READ_ONLY_TOKEN=my_token_goes_here_foo_bar"
**
Но я все равно получаю ту же ошибку:
Error: Failed to replace env in config: ${NPM_READ_ONLY_TOKEN}
Я попробовал протестировать с помощью команды echo, чтобы увидеть, запускается ли preinstall
перед расширением переменной .npmrc, но, по-видимому, этого не происходит. Я бы получил сообщение об ошибке и не увидел бы свой журнал эхо. Кажется, мне здесь чего-то не хватает.
Я знаю, что размещение моего токена в package.json препятствует извлечению токена из файла .npmrc. На самом деле я использую службу, которая предоставляет службы конфигурации env, которые я бы использовал для запуска команды и получения необходимого токена. Например. TOKEN=config_service_value
.