npm установить раздвоенный git с подмодулем - PullRequest
9 голосов
/ 03 марта 2012

Я пытаюсь заставить npm установить node-gitteh в качестве зависимости через npm install, которая читает из package.json.К сожалению, этот пакет npm не работает на узле 0.6.x, но это не проблема, так как есть раздвоенное репо, которое устраняет проблемы (https://github.com/hughsk/node-gitteh.git).

Теперь проблема в том, что у этого разветвленного репо есть подмодуль, поэтому, если я попытаюсь загрузитьtar из github в package.json:

, "dependencies" : {
    "gitteh" : "https://github.com/hughsk/node-gitteh/tarball/master"
}

Я получаю ошибку, которая соответствует «папка подмодуля не найдена». Если я клонирую тот же репозиторий вручную и выполняю рекурсивное обновление подмодуля и npm installиз папки node-gitteh работает нормально, но я не могу понять, как заставить npm сделать это.

Ответы [ 2 ]

3 голосов
/ 15 марта 2012

У меня была такая же проблема, и я до сих пор полагался на клонирование моего модуля в node_modules и ручное обновление подмодуля. Было бы неплохо, чтобы npm обрабатывал это автоматически.

В package.json есть поле скриптов (см. npm docs ) Так мог сделать

"scripts":{"preinstall": "git submodule update -i -r"}

См. https://github.com/isaacs/octave-test для примера этого.

0 голосов
/ 20 июля 2013

Согласно документам , вам нужно предоставить URL-адрес git в специальном формате.Кроме того, он должен указывать на git repo (тот же адрес, который вы использовали бы для git clone), а не тарбол, предоставленный github.

В вашем случае (git over https) это будет:

, "dependencies" : {
  "gitteh" : "git+https://github.com/hughsk/node-gitteh"
}

При использовании npm по умолчанию будет использоваться основная ветвь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...