Как я перечисляю частный GitHub репо как "dependency"
ин package.json
? Я пытался использовать синтаксис URL-адресов Github в npmryanve/example
, но npm install
в папке с пакетом выдается ошибка «не удалось установить» для частных зависимостей. Существует ли специальный синтаксис (или какой-то другой механизм) для зависимости от частных репозиториев?
203
"<package>": "git+ssh://git@github.com/<user>/<repo>.git
"package-name": "git+https://<github_token>:x-oauth-basic@github.com/<user>/<repo>.git"
не работал для меня. Удивительно, но переключение токенов и x-oauth-basic сделали свое дело. Итак,"package-name": "git+https://x-oauth-basic:<github_token>@github.com/<user>/<repo>.git"
у меня работает. обратите внимание, что я на gitlab, а не на github.https
ввод вx-oauth-basic
качестве имени пользователя не является необходимым:"package-name": "git+https://<github_token>@github.com/<user>/<repo>.git"
работает хорошо.Если кто-то ищет другую опцию для Git Lab и указанные выше опции не работают, у нас есть другая опция. Для локальной установки сервера Git Lab мы обнаружили, что подход, приведенный ниже, позволяет нам включать зависимость от пакета. Для этого мы создали и используем токен доступа.
Конечно, если вы используете ключ доступа таким образом, он должен иметь ограниченный набор разрешений.
Удачи!
источник
С git есть формат https
Этот формат принимает пользователя + пароль
Итак, вы можете создать нового пользователя, который будет использоваться просто как бот , добавить только достаточно прав, чтобы он мог просто читать репозиторий, который вы хотите загрузить в модули NPM, и просто иметь это непосредственно в своем
packages.json
В Select Области части, проверьте на репо : Полный контроль частных хранилищ
Это сделано для того, чтобы токен мог получить доступ к личным репозиториям, которые может видеть пользователь.
Теперь создайте новую группу в своей организации, добавьте этого пользователя в группу и добавьте только те репозитории, которые вы ожидаете получить таким образом (разрешение только для чтения!)
Вы должны быть уверены, что отправьте этот конфиг только в частный репозиторий
Затем вы можете добавить это в ваш / packages.json (бот-пользователь - это имя пользователя, xxxxxxxxx - сгенерированный персональный токен)
https://blog.eq8.eu/til/pull-git-private-repo-from-github-from-npm-modules-or-bundler.html
источник