локальная npm зависимость модуля - PullRequest
0 голосов
/ 16 февраля 2020

Я создаю модуль npm, который использует другой локальный модуль в качестве зависимости. Я включил его так:

{
  "name": "moduleA",
  "version": "1.0.0",
  "main": "./lib/index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "dependencies": {
    "moduleB": "./moduleB"
  },
  "author": "",
  "license": "ISC",
  "description": ""
}

Это прекрасно работает для локальной разработки, и я вижу, что moduleB установлен как пакет в 'node_modules' модуля A.

Однако эта структура ломается когда я устанавливаю модуль A глобально и пытаюсь запустить его (при подготовке к публикации).

Это мои шаги:

1) 'npm pack moduleA'

2 ) 'npm i -g moduleA-3.4.2.tgz'

3) 'moduleA' (работает в консоли GitBash)

На этом этапе я вижу следующая ошибка: Error: package.json not found in path

В модуле B есть пакет json - похоже, что в процессе установки возникло какое-то состязание.

Я пробовал:

1) Изменение зависимости на "moduleB": "file:./moduleB"

2) Указание установки модуля B в сценариях 'preinstall' и 'postinstall'

Различий в поведении не наблюдается. Цени любые советы или рекомендации!

...