Я пытаюсь установить частный репозиторий github с помощью npm, который включает в себя другие частные репозитории github в качестве зависимости.
Перепробовал много способов и сообщений, но ни один не работает. Вот что я делаю:
npm install git+https://github.com/myusername/mygitrepository.git
в package.json это как:
"dependencies": {
"repository1name": "git+https://github.com/myusername/repository1.git",
"repository2name": "git+https://github.com/myusername/repository2.git"
}
Как правильно это сделать?
node.js
github
dependencies
npm
package.json
vashishatashu
источник
источник
Ответы:
Попробуй это:
Вы также можете попробовать это, где visionmedia / express это имя / репо:
Или (если существует модуль пакета npm):
Взято из документов NPM
источник
fatal: ambiguous argument 'commit-ish': unknown revision or path not in the working tree.
довольно очевидно, чтоcommit-ish
это всего лишь примерное слово, которое вы должны заменитьsha
конкретным коммитом, который вам нужен. (или#commit-ish
вообще уберите его, если вам нужен последний коммит в вашей основной ветке)Следующее отлично работает во всех нужных мне сценариях:
источник
Для тех из вас, кто пришел сюда для публичных каталогов, из документации npm: https://docs.npmjs.com/files/package.json#git-urls-as-dependencies
Git URL-адреса как зависимости
URL-адреса Git могут иметь вид:
Коммитом-фиксацией может быть любой тег, sha или ветвь, которые могут быть предоставлены в качестве аргумента для git checkout. По умолчанию используется мастер.
источник
As of version 1.1.65, you can refer to GitHub urls as just “foo”: “user/foo-project”.
Ссылка на документы npmjsgit+https://
? Использоватьgit
протокол для клонирования и извлекать новые изменения во время проталкиванияhttps
?Принятый ответ работает, но мне не очень нравится идея вставлять безопасные токены в
package.json
Я нашел это в другом месте, просто запустите эту одноразовую команду, как описано в справочной странице git-config .
GITHUB_TOKEN
может быть настроен как переменная окружения или вставлен напрямуюа затем я устанавливаю частные репозитории github, такие как:
npm install user/repo --save
работает также в Heroku, просто настройте указанную выше
git config ...
команду какheroku-prebuild
скриптpackage.json
и настройтеGITHUB_TOKEN
как конфигурационную переменную Heroku.источник
npm install
шагом....insteadOf ssh://git@github.com
npm install user/repo --save
. Что-то мне нужно настроить?Есть несколько способов сделать это, как отмечают люди, но самые короткие версии:
например
источник
или просто
https://docs.npmjs.com/files/package.json#github-urls
источник
Поскольку Git использует
curl
под капотом, вы можете использовать~/.netrc
файл с учетными данными. Для GitHub это будет выглядеть примерно так:Если вы решите использовать
access tokens
, он может быть сгенерирован из:Это также должно работать, если вы используете Github Enterprise в своей собственной корпорации. просто поместите ваш GitHub URL в
machine
поле.источник
machine github.com login <token>
одной линией и /"package": "https://github.com/acme/privaterepo.git#commit-ish"
или непосредственно сnpm install https://github.com/acme/privaterepo.git#commit-ish
Вот более подробная версия того, как использовать токен Github без публикации в
package.json
файле.В случае сбоя доступа к Github попробуйте запустить
git ls-remote ...
командуnpm install will print
источник
Для моей личной ссылки на репозиторий я не хотел включать безопасный токен, и ни один из других простых (то есть указание только в package.json) не работал. Вот что сработало:
источник
Есть также ключ SSH - все еще спрашивает пароль и фразу-пароль
Использование
ssh-add ~/.ssh/id_rsa
без локальной цепочки для ключей.Это позволяет избежать необходимости связываться с токенами.
источник