Как использовать реестр пакетов github только для наших пакетов с ограниченным объемом, а остальное получить из стандартного npm?

Мы пытаемся использовать реестр пакетов Github для публикации наших частных организационных пакетов, и они работают / этот бит в порядке.

Однако, когда мы пытаемся установить их / использовать во всех наших проектах из реестра github вместе с другими модулями npm с определенной областью действия, которые находятся в официальном реестре npm, он выдаст что-то вроде:

error Couldn't find package "@azure/identity" on the "npm" registry.

Я бы предположил, что это нежелательное поведение, поскольку я не могу представить, чтобы вы хотели, чтобы люди использовали реестр пакетов github без npm в качестве восходящего потока в сценариях типа A или B. Бессмысленно не использовать зависимость от NPM и GPR вместе друг с другом.

Мой npmrc/yarnrc:

registry=https://npm.pkg.github.com/ORG_NAME

ИЛИ

registry=https://npm.pkg.github.com/

Подробный вывод показывает, что он действительно пытается получить его с github.

  • Есть ли правильная конфигурация для использования GPR вместе с NPM?
  • То, что я пытаюсь сделать, просто невозможно с георадаром, и следует ли мне просто придерживаться NPM?

1 ответ

Решение

Вы можете определить в своем файле .npmrc, в какой области какой репозиторий должен использовать npm.

@myscope:registry=https://npm.pkg.github.com

и для всего остального

registry=https://registry.npmjs.org/

ваш файл .npmrc должен выглядеть примерно так:

@myscope:registry=https://npm.pkg.github.com
registry=https://registry.npmjs.org/
Другие вопросы по тегам