Почему мой частный реестр npm содержит список всех общедоступных модулей npm, даже если я не реплицировал базу данных реестра?

я настраивал частный реестр npm, следуя этим явные инструкции для создания частного реестра. Однако Я пропустить шаг репликации, потому что мое намерение состоит в том, чтобы иметь пустой реестр, который будет просто дом частных модулей.

все, кажется, работает, однако, когда я запускаю тестовую команду:

npm --registry http://localhost:5984/registry/_design/scratch/_rewrite search /^zipper

Я получаю следующий вывод, который подсказывает мне, что npm находит этот публичный модуль, который не должно существовать в моем личном реестре:

npm http GET http://localhost:5984/npm_registry/_design/scratch/_rewrite/-/all/since?stale=update_after&startkey=1382392304289
npm http 200 http://localhost:5984/npm_registry/_design/scratch/_rewrite/-/all/since?stale=update_after&startkey=1382392304289
NAME           DESCRIPTION                                  AUTHOR      DATE              VERSION KEYWORDS
zipper         Insanely simple zipfile creator for node.js  =rubenv     2013-05-06 11:35  0.3.0  zip compress archive libzip
zipper-insane  Insanely simple zipfile creator for node.js  =diorahman  2011-12-17 15:54  0.0.1  zip compress archive libzip

кроме того, когда я пытаюсь установить модуль из моего частного реестра, он устанавливается. Что здесь вообще происходит? Поскольку я запускаю свой собственный CouchDB без репликации существующего, я ожидал, что в базе данных не будет модулей.

23
задан Ryan Jarvis
15.05.2023 12:45 Количество просмотров материала 3601
Распечатать страницу

1 ответ

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

к сожалению, реализация кэша npm не поддерживает несколько реестров, он всегда объединяет все данные из всех реестров.

в качестве обходного пути, вы можете сказать npm использовать другой каталог кэша при разговоре с вашим личным реестр:

npm --registry http://localhost:5984/registry/etc. --cache $HOME/.npm-private
2
отвечен Miroslav Bajtoš 2023-05-16 20:33

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх