Дочерний модуль не может установить зависимости (глобальная установка) - проблема относительного пути? - PullRequest
0 голосов
/ 02 января 2019

У меня есть пакет npm со структурой, подобной этой:

./
  ./backend
    ./package.json
  package.json

Таким образом, в основном два модуля npm в одной папке, один из которых является дочерним по отношению к другой, с точки зрения структуры файлов.

Способ установки заключается в том, что я помещаю постустановочный скрипт в родительский пакет. Json:

"postinstall": "cd backend && npm install && cd .."

Что произойдет ТОЛЬКО, если я установлю его глобально: сначала выдается несколько предупреждений о том, что пакеты в основном не установлены. Как это:

npm WARN enoent ENOENT: no such file or directory, open '/usr/lib/node_modules/inschpektor/backend/node_modules/trim-newlines/package.json'

Они появляются для всех зависимостей в ./backend/package.json.

Я уже запускаю установку с флагом --unsafe-perm:

npm install -g inschpektor --unsafe-perm, который устанавливает родительский package.json, содержащий скрипт postinstall.

Последнее сообщение об ошибке в журнале, которое я получаю, это:

npm ERR! path /usr/lib/node_modules/inschpektor/backend/node_modules/ansi-regex/package.json
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall open
npm ERR! enoent ENOENT: no such file or directory, open '/usr/lib/node_modules/inschpektor/backend/node_modules/ansi-regex/package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent 

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/codepleb/.npm/_logs/2019-01-02T01_52_46_911Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 254
npm ERR! inschpektor@0.9.1 postinstall: `cd backend && npm install && cd ..`
npm ERR! Exit status 254
npm ERR! 
npm ERR! Failed at the inschpektor@0.9.1 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/codepleb/.npm/_logs/2019-01-02T01_52_47_511Z-debug.log

Что я делаю не так? Или вы, возможно, видите недостатки в том, как я настраиваю вещи?

Вот ссылка для получения git-репо, если вы хотите продолжить ее анализ: https://github.com/codepleb/inschpektor

...