Как установить частный NPM пакет поверх SSH - PullRequest
1 голос
/ 16 апреля 2020

У меня есть частное репо на GitHub, которое публикует пакет. Я добавил ключ развертывания в частное хранилище.

Я пытаюсь установить это хранилище из другого места и сталкиваюсь с проблемами.

Сначала я создал личный токен доступа с доступом для чтения под моим учетная запись пользователя на GitHub. Затем в репо, где я хочу установить частное репо, я добавил файл .npmr c, который выглядит следующим образом:

strict-ssl=true
@my-org:registry=https://npm.pkg.github.com/
//npm.pkg.github.com/:_authToken=MY_GITHUB_PAT

Как только это будет сделано, я могу успешно установить через:

npm install @my-org/private-repo

Однако по разным причинам мне нужно установить через s sh. Как это может быть сделано? Я пробовал:

npm install git+ssh://git@github.com:my-org/private-repo.git

но это только устанавливает репо, а не пакет. В моей библиотеке у пакета есть артефакты сборки, такие как минимизированные файлы и т. Д. c.

Есть ли способ установить только пакет через s sh?

Ответы [ 2 ]

0 голосов
/ 16 апреля 2020

токен личного доступа

токены личного доступа используются для доступа https. Они не используются s sh доступом к github. Для доступа s sh вам необходимо предоставить свой ключ publi c для github.

Обратите внимание, что аутентификация с закрытым / publi c ключом необязательна для s sh. Многие используют вместо этого аутентификацию по паролю, поэтому многие установки s sh фактически не генерируют для вас пару секретных / publi c ключей по умолчанию. Если у вас установлен sh установлен (как и большинство unixen), вы можете запустить следующую команду для генерации вашей личной / publi c пары ключей:

ssh-keygen

Следуйте инструкциям в командной строке и должен генерировать файлы, необходимые для github. Примечание: если вы хотите использовать этот сертификат в автоматических c сценариях, я предлагаю вам создать свой закрытый ключ без ключевой фразы. В противном случае он будет запрашивать пароль при каждом доступе к github.

Если вы не измените его, s sh -keygen сгенерирует ваш закрытый ключ на $HOME/.ssh/id_rsa.pub. Это файл, который вам нужно выгрузить на github для доступа к вашему личному репо.

Примечание. Если вы не используете, открывает sh, то поищите в Google s sh документацию по программному обеспечению для получения и создания войдите в свой ключ publi c.

Чтобы загрузить логин ключа publi c в свою учетную запись на github, go в свой профиль (изображение аватара в правом верхнем углу) и нажмите "настройки" . Затем нажмите «S SH и ключи GPG» .

Вам нужно будет повторить все вышеописанные шаги на всех машинах, с которых вы хотите получить доступ к github, так как s sh private / publi c пара ключей указывает c на sh на вашем компьютере. Вы можете скопировать свои ключи на другой компьютер и поместить его в папку .ssh, но это не очень хорошая идея. Отдельные ключи для отдельных машин означают, что вы можете легко управлять тем, какие машины имеют доступ к вашей учетной записи github с веб-сайта github.

0 голосов
/ 16 апреля 2020

Укажите переменную GIT_SSH_COMMAND.

GIT_SSH_COMMAND='ssh -i ~/.ssh/<your private key>' npm install git+ssh://git@github.com:my-org/private-repo.git
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...