После некоторых проб и ошибок я пришел к следующему выводу / решению:
Когда значение зависимости начинается с git:
npm использует /usr/bin/git ls-remote -h -t
для выборки из git. Как следует из названия ls-remote, он ожидает удаленного репозитория git. Есть способы комбинировать префикс git:
с протоколами, упомянутыми в документах npm, например git+http:
или git+ssh:
. Я пытался использовать их с localhost, но безуспешно. Я просто скомбинировал его с префиксом file:
, чтобы предложить локальный путь к ls-remote, и это сработало:
npm i --save git+file:/home/git/mypackage
package. json:
{
"name": "myproject",
"version": "1.0.0",
"dependencies": {
"mypackage": "git+file:/home/git/mypackage"
}
}