Настройте несколько реестров в .npmrc - PullRequest
2 голосов
/ 27 марта 2020

Я могу опубликовать sh и установить пакеты из своего внутреннего / частного реестра, настроив мой .npmr c примерно так:

  $ npm config set registry https://mynpm-registry.com

Однако я хотел бы настроить свой .npmr c для прокси для публикации c https://registry.npmjs.com/, , если пакет недоступен в моем внутреннем реестре.

Я понимаю, что могу потенциально настроить несколько npm профилей - один для внутреннего и один для внешнего реестра - вот так:

$ npmrc -c my-internal-profile
$ npmrc -c my-external-profile

... но это не то, что я ищу. Я хотел бы иметь одну конфигурацию .npmr c с обоими реестрами, которая будет перенаправлять данные в реестр publi c, если в моем внутреннем реестре нет пакета.

Is есть ли вообще это сделать?

1 Ответ

1 голос
/ 27 марта 2020

Один из способов сделать это - это определить пакеты в вашем файле .npmrc.

Пакеты Scoped просто помещаются как пакеты, сгруппированные в пространстве имен. Возможно, вы видели @angular/core или @react/something. Итак, это ограниченные пакеты.

В вашем файле .npmrc вы могли бы сделать следующее

@yourorg:registry=http://localhost:4040/
registry=https://registry.npmjs.com

Итак, это в основном означает, что вы все под @yourorg будете получать из вашего реестра, но другие собираются быть извлеченным из реестра. npmjs .org.


Если первый вариант не решает, что вы пытаетесь сделать, вы должны посмотреть https://help.sonatype.com/repomanager3/download

Это менеджер реестра, в котором вы можете создавать частные реестры и создавать группу реестров (где один из них может быть https://registry.npmjs.org). Тогда для npm это будет выглядеть как обычный вызов, но Sonatype выполняет тяжелые операции:

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