Краткий ответ: Это зависит от того, когда / как вы хотите получить к нему доступ, поскольку нет переменной env (например, NPM_CACHE_LOCATION
), доступной, пока npm работает не работает.
Вам нужно будет вызвать npm config get cache
или npm get cache
, как вы это делаете в настоящее время.
Однако после запуска npm параметры конфигурации помещаются в среду с помощью * 1012.* префикс.
Это демонстрирует следующее ...
Узнайте, какие переменные env доступны:
Как способ узнать, какие переменные (en) envnpm помещает в среду, вы можете использовать printenv в npm-скрипте.Например, в package.json add:
...
"scripts": {
"print-env-vars": "printenv | grep \"^npm_\""
},
...
Затем выполните следующую команду:
npm run print-env-vars
Получите расположение кэша с помощью переменной env:
В результирующем журнале на консоль (т.е. после запуска npm run print-env-vars
) вы увидите, что в списке есть переменная окружения npm_config_cache
.Это выглядит примерно так:
npm_config_cache=/Users/UserName/.npm
В документах указано:
конфигурация
конфигурацияпараметры помещаются в среду с префиксом npm_config_
.Например, вы можете просмотреть эффективную конфигурацию root
, проверив переменную окружения npm_config_root
.
Примечание: Запуск printenv | grep "^npm_"
напрямую черезCLI ничего не возвращает.
Доступ к расположению кеша с помощью переменной env:
Доступ к расположению кеша осуществляется через скрипт npm, например:
"scripts": {
"cache-loc-using-bash": "echo $npm_config_cache",
"cache-loc-using-win": "echo %npm_config_cache%"
},
См. cross-var для использования межплатформенного синтаксиса.
Доступ к расположению кэша npm через скрипт Nodejs ,Например:
const cacheLocation = process.env.npm_config_cache;
console.log(cacheLocation)
Примечание: Этот сценарий узла необходимо будет запускать с помощью сценария npm, чтобы process.env.npm_config_cache
был доступен.Вызов его из командной строки, например, node ./somefile.js
вернет undefined
- это еще раз показывает, что параметры с префиксом _npm
вводятся в среду только во время работы npm.
Не идеально, однако вы можете установить собственную переменную среды, используя export , конечно:
export NPM_CACHE_LOCATION="$(npm get cache)"
и unset , чтобы удалить его:
unset NPM_CACHE_LOCATION