Указывая реестр с помощью: --registry https://my-domain.com/artifactory/api/npm/my-repo
npm пытается разрешить все необходимые пакеты по имени и версии из вашего личного хранилища :
domain.com/artifactory/api/npm/my-repo
.
Чтобы разрешить эти публичные зависимости, от которых зависит ваша личная библиотека, у вас есть два варианта:
- Настройка виртуального реестра Npm. (Рекомендую этот подход)
- Упакуйте все необходимые зависимости в вашем личном репозитории.
A Виртуальный репозиторий , определенный в Artifactory , агрегирует пакеты как из локальных, так и из удаленных репозиториев. Это позволяет получать доступ как к локально размещенным пакетам npm, так и к удаленным проксируемым реестрам npm из одиночный URL , определенный для виртуального хранилища.
Установив виртуальный репозиторий, который ссылается как на ваше частное местоположение репозитория, так и на общедоступное местоположение npmjs по умолчанию , вы сможете загружать как свои частные библиотеки, так и любой публичный пакет npm, указав свой вышеупомянутый реестр. ,
Поскольку вы упомянули JFrog
, взгляните на их слияние страница , которая проведет вас через процесс создания виртуального хранилища.
Однако, если вы решите использовать опцию 2, вам придется упаковать все необходимые зависимости в вашем личном репозитории. Тогда ваша личная библиотека сможет правильно извлекать зависимости, от которых она зависит. Я бы посоветовал не использовать этот подход, поскольку вы будете дублировать работу, уже предоставленную npmjs
, и вам также придется постоянно обновлять свой личный репозиторий, чтобы включать новые библиотеки или более новые версии существующих библиотек.
Надеюсь, это поможет!