Хранение нескольких библиотек NPM в одном репозитории Git - PullRequest
0 голосов
/ 05 декабря 2018

Мы можем ссылаться на депо NPM на Github следующим образом:

"dependencies":{
   "foo":"github.com/org/root#commit"
}

Но у меня есть репозиторий Git с несколькими библиотеками NPM, например:

root/
  nodejs/
    foo/
      package.json
    bar/
      package.json

есть лиспособ установить Foo из этого репозитория Github напрямую?Что-то вроде этого?

"dependencies":{
   "foo":"github.com/org/root/nodejs/foo#commit"
}

Я попытался установить, используя этот URL, и он не работал, я получил эту ошибку:

npm ERR! code ENOPACKAGEJSON
npm ERR! package.json Non-registry package missing package.json: https://raw.githubusercontent.com/org/root/master/nodejs/foo/package.json.
npm ERR! package.json npm can't find a package.json file in your current directory.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/oleg/.npm/_logs/2018-12-05T09_15_28_666Z-debug.log

Я также пыталсяиспользуя raw.githubusercontent.com примерно так:

"dependencies":{
   "foo":"raw.githubusercontent.com/org/root/nodejs/foo#commit"
}

И я получил ту же ошибку.Конечно, это должно быть как-то возможно?

1 Ответ

0 голосов
/ 05 декабря 2018

Хорошо, поэтому одним из решений является использование тарболлов.Таким образом, вы можете использовать эту команду:

 npm i -S 'https://raw.githubusercontent.com/org/root/master/nodejs/foo/foo-0.0.1001.tgz'

это сработало .. и я получаю это в package.json:

 "dependencies": {
    "foo": "https://raw.githubusercontent.com/org/root/master/nodejs/foo/foo-0.0.1001.tgz"
  }

в основном все, что вам нужно сделать, это установить npm с URLэто указывает на тарбол.

...