Скажите NPM для установки в другой каталог - PullRequest
0 голосов
/ 17 февраля 2019

У меня есть ситуация, когда из-за требований / мнения проекта, с которым я работаю, я должен хранить свой файл package.json во вложенном каталоге.См. Ниже:

/my-app
  |-- /functions
    |-- /node_modules
    |-- package.json

Проблема, с которой я столкнулся несколько раз сейчас, заключается в том, что я запускаю npm i <package> из /my-app, а не /my-app/functions, не осознавая этого, и в итоге трачу время на ненужную отладку времени.мое приложение, потому что я установил пакет не в том месте.

Есть ли способ создать файл package.json корневого уровня, который просто говорит NPM: "Эй, если вы собираетесь что-то установить, сделайтеэто в этом другом каталоге. "?Например:

/my-app
  |-- package.json <-- add this
  |-- /functions
    |-- /node_modules
    |-- package.json

А может быть, файл package.json в корневом каталоге будет выглядеть примерно так?

{
  "installDirectory": "/functions"
}

Эта функция может уже существовать, но я не смог найтиэто в документации.Флаг --prefix похож, но он не обрабатывает автоматически описанный мной случай.

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

Вы можете использовать npm-config:

$ npm config set prefix ./functions

Или вы можете установить NPM_CONFIG_PREFIX (переменная окружения) на ./functions.

Вы также можете добавить эту строку к .npmrc:

prefix = ./functions

Документация npm:

0 голосов
/ 24 февраля 2019

Не указывать путь в package.json, но с флагом npm prefix вы можете установить путь установки node_modules при установке пакетов.

например: $ npm install <package> --prefix ./functions/node_modules

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...