npm устанавливает частные репозитории github по зависимости в пакете.формат JSON



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



пробовали много способов и сообщений, но никто не работает. Вот что я делаю :



npm install git+https://github.com/myusername/mygitrepository.git


в пакет.JSON-это как :



"dependencies": {
"repository1name": "git+https://github.com/myusername/repository1.git",
"repository2name": "git+https://github.com/myusername/repository2.git"
}


каков правильный способ сделать это?

921   8  

8 ответов:

попробуйте это:

"dependencies" : {
  "name1" : "git://github.com/user/project.git#commit-ish",
  "name2" : "git://github.com/user/project.git#commit-ish"
}

вы также можете попробовать это, где visionmedia / express-это имя / РЕПО:

"dependencies" : {
   "express" : "visionmedia/express"
}

или (если модуль пакета npm существует):

"dependencies" : {
  "name": "*"
}

принято от НПМ документы

следующее работало просто отлично во всех сценариях, которые мне нужны :

"dependencies": {
"GitRepo": "git+https://<token-from-github>:[email protected]/<user>/<GitRepo>.git"
}

для тех из вас, кто пришел сюда для публичных каталогов, из документов npm:https://docs.npmjs.com/files/package.json#git-urls-as-dependencies

Git URLs как зависимости

git URL-адреса могут иметь вид:

git://github.com/user/project.git#commit-ish
git+ssh://user@hostname:project.git#commit-ish
git+ssh://user@hostname/project.git#commit-ish
git+http://user@hostname/project/blah.git#commit-ish
git+https://user@hostname/project/blah.git#commit-ish

commit-ish может быть любым тегом, sha или ветвью, которые могут быть предоставлены в качестве аргумента для проверки git. По умолчанию мастер.

принятый ответ работает, но мне не очень нравится идея вставить надежные маркеры в package.json

я нашел его в другом месте, просто запустите это одноразовая команда как описано в git-config manpage.

git config --global url."https://${GITHUB_TOKEN}@github.com/".insteadOf [email protected]:

GITHUB_TOKEN может быть настроен как переменная environmnet или вставлен непосредственно

а затем я устанавливаю частные репозитории github, такие как:npm install user/repo --save


работает также в Heroku, просто установите выше git config ... команда as heroku-prebuild скрипт package.json и setup GITHUB_TOKEN как переменная конфигурации Heroku.

есть несколько способов сделать это, как люди отмечают, но короткие версии:

// from master
"depName": "user/repo",

// specific branch
"depName": "user/repo#branch",

// specific commit
"depName": "user/repo#commit",

например

"dependencies" : {
  "hexo-renderer-marked": "amejiarosario/hexo-renderer-marked#patch-1",
  "hexo-renderer-marked": "amejiarosario/hexo-renderer-marked#2249507",
  "hexo-renderer-marked": "amejiarosario/hexo-renderer-marked",
}
"dependencies": {
  "some-package": "github:github_username/some-package"
}

или просто

"dependencies": {
  "some-package": "github_username/some-package"
}

https://docs.npmjs.com/files/package.json#github-urls

так как Git использует curl под капотом, вы можете использовать ~/.netrc файл с учетными данными. Для GitHub это будет выглядеть примерно так:

machine github.com
  login <github username>
  password <password OR github access token>

если вы используете access tokens, он может быть создан из:

Настройки - > настройки разработчика - > личные токены доступа

Это также должно работать, если вы используете GitHub Enterprise в своей собственной корпорации. просто поместите свой корпоративный url-адрес github в

для моей ссылки на частный репозиторий я не хотел включать безопасный токен, и ни один из других простых (т. е. указание только в пакете.json) работал. Вот что получилось:

  1. пошел GitHub.com
  2. переход в частный репозиторий
  3. нажал "клонировать или загрузить" и скопировал URL (который не соответствовал приведенным выше примерам)
  4. добавлено #commit-sha
  5. Ran npm install

Comments

    Ничего не найдено.