Почему мой проект требует нескольких реестров npmrc, когда артефакт уже включает их в качестве исходных источников?
У меня есть два монохранилища, которые используют Node/NPM/Lerna для управления и распространения нескольких пакетов.
Проект X включает .npmrc
файл с одним реестром. Этот реестр предназначен для частного канала Azure, который включает три исходных источника. По имени (A, B, C)
- A - Публичный NPMJS
- B - Частный пакет
- C - Частный пакет
Проект Y требует .npmrc
файл с двумя регистрами пространства имен.
- Первый - тот же, что используется в Project X
- Второй * кажется * обязательным, и @ зарегистрируйте канал Azure для B.
Мой вопрос, если мой .npmrc
Файл регистрирует пакет, который содержит три восходящих канала, почему мне нужно дополнительно зарегистрировать один из этих исходных каналов в моем .npmrc
файл (B)?
Насколько я понял из документации, Upstream Feeds - это альтернативный подход к регистрации нескольких пакетов с пространством имен в вашем .npmrc
файл.
Я явно что-то упускаю. Пожалуйста помогите. Спасибо
1 ответ
Вы правы в том, что Project X использует настройку, которую мы рекомендуем, которая представляет собой единую ленту артефактов Azure в вашем .npmrc
"s registry=
линия, которая направлена на любые другие каналы, которые вам нужны.
Однако Project Y, возможно, решил использовать области, чтобы вместо этого использовать только ограниченные пакеты из артефактов Azure, одновременно извлекая большинство пакетов с npmjs.com. Обычно мы не рекомендуем этого, но это правильный способ работы. Обратите внимание, что в этой конфигурации Project Y не может воспользоваться преимуществами вышестоящих источников (например, сохраненной копии всего, что вы используете на npmjs.com, на случай, если позже он будет удален).
Если вы хотите перейти на рекомендуемую конфигурацию, попробуйте убедиться, что проект Y .npmrc
имеет один registry=
линия:
registry=https://dev.azure.com/.../ProjectXFeedWithUpstreams/...
и посмотреть, если он все еще строит (удалить или переименовать node_modules
когда ты бежишь npm install
).