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"
}
каков правильный способ сделать это?
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-ishcommit-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 ...команда asheroku-prebuildскриптpackage.jsonи setupGITHUB_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" }
так как Git использует
curlпод капотом, вы можете использовать~/.netrcфайл с учетными данными. Для GitHub это будет выглядеть примерно так:machine github.com login <github username> password <password OR github access token>если вы используете
access tokens, он может быть создан из:Настройки - > настройки разработчика - > личные токены доступа
Это также должно работать, если вы используете GitHub Enterprise в своей собственной корпорации. просто поместите свой корпоративный url-адрес github в
для моей ссылки на частный репозиторий я не хотел включать безопасный токен, и ни один из других простых (т. е. указание только в пакете.json) работал. Вот что получилось:
- пошел GitHub.com
- переход в частный репозиторий
- нажал "клонировать или загрузить" и скопировал URL (который не соответствовал приведенным выше примерам)
- добавлено #commit-sha
- Ran npm install
Comments