NPM Установка библиотеки личных узлов - PullRequest
1 голос
/ 23 апреля 2019

Я создал библиотеку (country) в gitlab, которую я хочу установить в другом проекте. Эта библиотека использует другую мою библиотеку (dataloader). Когда я запускаю npm i в моем проекте, он устанавливает country, но затем создает еще один node_modules внутри страны с загрузчиком данных. Я хочу библиотеку загрузчика данных в главном node_modules. Я не могу понять, почему пакет dataloader не включается в проект node_modules

Ожидаемое поведение на npm в проекте:

Example Project
|
+--node_modules
  |
  +--country
  +--dataLoader`

Страна Библиотека Package.json Country Package.JSON Пример проекта Package.json Example project Package.JSON

Проблема: Как только я использую установку npm в моем примере проекта, я получаю структуру папок, такую ​​как

Observed Behaviour on npm i inside the project:

Example Project
|
+--node_modules
  |
  +--country
     |
     +--node_modules
       |
       +--dataLoader`

но когда я пытаюсь использовать npm, установить git + http://xxxxxxxxx/countries.git#master создать структуру папок, какую я хочу.

например:

Example Project
|
+--node_modules
  |
  +--country
  +--dataLoader`

1 Ответ

2 голосов
/ 28 мая 2019

Используя Verdaccio, моя проблема была решена.

Что такое verdaccio?

Verdaccio - это легкий частный реестр прокси-серверов npm, встроенный в Node.js

, который нам нужно создатьчастный.Использовать verdaccio с любым клиентом менеджера пакетов узла довольно просто.Вы можете использовать настраиваемый реестр либо глобально для всех ваших проектов

npm set registry http://localhost:4873

, а затем добавить .npmrc в вашу личную библиотеку и ваш пример проекта

.npmrc

registry http://localhost:4873

тогда вместо публикации вашей личной библиотеки на npm вам нужно опубликовать на verdaccio.

с помощью следующей команды

npm publish

затем с помощью вашей структуры папок npm install создайте правильную, которую я хочу

Example Project
|
+--node_modules
  |
  +--country
  +--dataLoader
...