it-roy-ru.com

Как установить пакет bower с использованием частного git-сервера (SSH)?

EDIT: этот парень делает то же самое с успехом , не могу понять, почему это не работает для меня.

Я только что установил git и настроил права доступа/аутентификацию SSH с открытым/закрытым ключом (Centos 6.5). Я могу тянуть/толкать без проблем, используя то есть:

git clone [email protected]:projects/boilerplate-template

Имя пользователя - git, код помещен в /home/git/projects, репозиторий создан с git --init --shared boilerplate-template.

Как я могу требовать boilerplate-template с Bower в другом проекте?

Я попытался с помощью следующего файла bower.json без удачи:

{
    "name": "my/newproject",
    "dependencies": {
        "boilerplate-template": "git://code.organization.com:projects/boilerplate-template"
    }
}

ECMDERR: не удалось выполнить "git ls-remote --tags --heads git: //code.organization.com: projects/шаблон-шаблон, код выхода 128 невозможно найти code.organization.com (порт проекта) ...

К сожалению, это не удается, потому что :project - это не порт, а путь. Я также попытался с ssh:// вместо git://:

ENOTFOUND: Пакет ssh: //code.organization.com: проекты/шаблон-шаблон не найдены.

53
gremo

Хорошо, нашел решение здесь: Использование Bower в качестве инструмента управления пакетами для внутренних, частных библиотек . Просто удалите git:// или ssh:// и добавьте суффикс .git:

"[email protected]:projects/boilerplate-template.git#~1"
64
gremo

Кроме того, если вы используете Github и Bower для частного репо, вы можете создать файл .netrc, если вам нужно запустить bower install на удаленном сервере. 

например У вас есть капля DO, и вам нужно оформить git-репо, в котором используются ssh-ключи, но вам нужно запустить bower install с некоторыми частными командами. Если вы добавите файл .netrc на свою удаленную машину, вам будет полезно перейти на развертывание/сборку.

// .netrc where someToken is generated in Github under Personal access token
machine github.com
    login userName
    password someToken
11
Scott Sword

У меня были проблемы с работой bower login, поэтому я выбрал этот подход. <TOKEN> генерируется здесь . Это работает для частных репозиториев, размещенных на Github.

"dependencies": {
    "your-package": "https://<TOKEN>:[email protected]/Account/Repository.git"
}
9
Dehli

У TeamCity была эта проблема для нас, когда мы пытались скачать приватное репо с GitHub. В случае, если это кому-нибудь поможет, мы решили эту проблему, используя SSH и предоставив GitHub Personal Access Token , запустив bower login перед bower install:

Пример зависимости в bower.json: 

"repository": "[email protected]:Account/Repository.git"

Команды для запуска в сценарии сборки:

bower login -t {GitHub Personal Access Token}
bower install
5
embee

перейдите на https://github.com/settings/tokens , создайте свой токен 

bower login -t {your token} 

bower install
3
silverbull

Как уже упоминалось, установка местоположения пакета:

"[email protected]:projects/yourproject.git"

Позволит бауэр вытащить из репозитория git.

Если вы столкнулись с проблемой SSH в Windows, вы можете выполнить следующие действия:

  1. Загрузите инструменты PuTTY
  2. Используйте PuttyGen для генерации нового ключа.
  3. Сохраните закрытый ключ в папке пользователей .ssh как anything.ppk
  4. Скопируйте текст, начинающийся с ssh-rsa в PuTTY gen, в буфер обмена
  5. Перейдите на github и Settings -> SSH keys -> Add SSH key, указав заголовок вашего ключа и вставив текст из PuttyGen в часть ключа
  6. Добавьте переменную среды с именем GIT_SSH, значением которой будет путь к инструменту PuTTY PLINK.exe, например. C:\Program Files\PuTTY\PLINK.exe
  7. Запустите инструмент PuTTY «Pageant.exe», затем добавьте свой ключ anything.ppk в Pageant (вы можете добавить ярлык в папку автозагрузки с помощью C:\pathtopageant\pageant.exe C:\Users\myuser\.ssh\anything.ppk, чтобы автоматически добавить ключ в pageant при запуске)
  8. Откройте сам PuTTY.exe, введите имя хоста github enteprise (code.organization.com в приведенном выше примере) или «github.com» в текстовое поле имени хоста и нажмите «Открыть». Вам, вероятно, будет предложено доверять хосту, нажмите «Да», чтобы добавить его в файл known_hosts, так как bower не может сделать это при первом запуске и просто зависнет
  9. Наконец, запустите bower install!
1
James Hulse

Вы можете столкнуться с этой проблемой, если клонируете также из частного репозитория Принятый ответ правильный, однако я хочу прояснить эту проблему:

  1. если у вас есть доступ к вашей машине через github SSH, перейдите в репозиторий git и скопируйте ссылку «клон с SSH», затем поместите ее в файл bower.json.

  2. если на вашем компьютере настроен https (аутентификация при входе) для github, скопируйте ссылку «клон с https», а затем поместите ее в файл bower.json. Репозиторий .__

Пример: SSH-ссылка: [email protected]: Account/Repository.git HTTPS-ссылка: https://github.com/Account/Repository.git

Файл Bower.json:

"зависимости": {
 "repository": "вставить сюда строку клона SSH/HTTPS" 
}
1
Bamieh

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

  1. Сгенерируйте токен доступа Github здесь и установите его как переменную окружения GITHUB_TOKEN

  2. Определите средство распознавания сокращений в .bowerrc:

    "shorthand_resolver": "https://${GITHUB_TOKEN}@github.com/{{owner}}/{{package}}.git"
    
  3. Теперь я могу добавить свою зависимость как bower install me/my-private-package или перечислить ее в bower.json:

    "dependencies": {
        "my-private-package": "me/my-private-package"
    }
    

Работает также для сборок Heroku.

0
Michal Moravcik