Как использовать новый repo.magento.com

55

Я сгенерировал новый ключ Magento Connect в соответствии с инструкциями для разработчика . Как я должен использовать этот ключ? то есть, если я пытаюсь получить информацию, я вижу следующее.

$ composer info magento/sample-data
    Authentication required (repo.magento.com):
      Username: 

Если я пытаюсь следовать новым инструкциям по установке, я получаю то же самое.

$ composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition magento2
    Authentication required (repo.magento.com):
      Username: 

Является ли ключ моим паролем? Если это так, какое имя пользователя? Если ключ является истинным ключом (т. Е. Имя пользователя / пароль не нужны), где я могу настроить ключ?

Алан Сторм
источник
11
@Flyingmana Автор прочитал документацию, и в документации не упоминалось, что пара ключей Magento соответствует имени пользователя / паролю композитора. Возможно, это очевидно для некоторых, но это не очевидно для всех.
Алан Шторм
1
Документация изменилась вскоре после ГА. Из ворот потребовалось имя пользователя / пароль учетной записи (что, я не уверен, больше работает), но затем они обновили его. Да ... огромный контроль, но по крайней мере теперь он использует сгенерированные токены. :)
Давидгер
Я оставлю это на OP, чтобы закрыть вопрос. Документы были обновлены после факта.
отметки
7
@Flyingmana серьезно, если мы собираемся закрыть каждый вопрос, потому что кто-то не читал документацию ... тогда какова цель стека обмена
Павел Дубиель
2
В чем же дело с этим логином? Они хотят собирать учетные записи пользователей? Я не понимаю
тестер

Ответы:

68

Magento поставляется с примером файла в вашем корне, так как auth.json.sampleвам нужно скопировать его вauth.json

Он содержит 2 набора ключей: 1 для Github и 1 для Magento Repo

введите описание изображения здесь

Введите следующие данные в ваш auth.jsonфайл для входа. Пожалуйста, используйте открытый ключ и закрытый ключ

{
    "http-basic": {
        "repo.magento.com": {
            "username":"<your public key>",
            "password":"<your private key>"
        }
    }
}

введите описание изображения здесь

в северном направлении файл auth также можно найти в корневом каталоге пользователя и, следовательно, использовать в другом месте ~ / .composer / auth.json

Мэдди
источник
14
Или введите ваш открытый ключ в качестве имени пользователя и закрытый ключ в качестве пароля в запросах.
Алан Шторм
2
файл находится в ~ / .composer / auth.json и в корне magento
Claudiu Creanga
Вы должны сгенерировать ключи на Magento Marketplace, см. Devdocs.magento.com/guides/v2.0/install-gde/prereq/…
himansu
1
почему имя пользователя называется открытым ключом или наоборот? Подсказка должна запрашивать открытый ключ и т. Д.! Зачем создавать путаницу с разными ярлыками?
Джон
Всякий раз, когда я пытаюсь сгенерировать новый ключ на сайте и ввести имя, модал исчезает и ничего не происходит.
Метрополис
27

Предыдущий пример верен. Кроме того ... это также возможно командой config композитора.

composer.phar global config http-basic.repo.magento.com <public_key> <private_key>

cmuench
источник
Спасибо! Я, вероятно, добавлю это в документацию, которая недавно была обновлена: bit.ly/1SMMh9p
Стив Джонсон
10

Войдите в magento, используя свои учетные данные. Затем следуйте навигации

1. Мой аккаунт

2.Marketplace

3. Мой ключ доступа

4.Magento2

Открытый ключ: ххххх

Закрытый ключ: ххххх

Открытый ключ используется как имя пользователя, а закрытый ключ - как пароль.

Кишор Хасэ
источник
9

Предыдущие примеры верны. Кроме того, это также возможно командой config композитора.

Внутри каталога проекта Magento выполните следующую команду Composer :

$ composer config http-basic.repo.magento.com <public_key> <private_key>

Просто замените заполнители фактическими значениями ( public_key станет именем пользователя, а private_key - паролем в HTTP-аутентификации с repo.magento.com ).

Настройки аутентификации можно проверить, выбрав последнюю версию с поддельным обновлением:

$ composer update --dry-run

Это даст сообщение об ошибке, подобное:

Invalid credentials for 'https://repo.magento.com/packages.json', aborting.

если что-то не так с учетными данными.

Я настоятельно рекомендую управлять учетными данными в папке проекта, как предполагает мой ответ. Я бы тоже не редактировал auth.jsonвручную, а просто с помощью команды composer, так как он менее подвержен ошибкам.

hakre
источник
Где я могу добавить это: composer.phar config http-basic.repo.magento.com <public_key> <private_key>
Gem
@Rathinam Вы не добавляете это, вы выполняете это. команда "composer", см. документацию composer о том, как использовать эту утилиту для всех деталей: getcomposer.org
hakre
3

Все ответы хороши только для того, чтобы собрать возможные сценарии в одном месте.

Magento объявил о новом способе взаимодействия с рынком через compsoer, когда вы запускаете composer installв корневом каталоге Magento запрос на ввод имени пользователя и пароля, помните, что это не имя пользователя и пароль Magento, а открытый и закрытый ключ Magento Marketplace.

Войдите в Magento Marketplace.

Перейти к моей учетной записи.

В разделе «Мои продукты» нажмите «Ключи доступа».

Выберите версию Magento (1 или 2).

Нажмите Создать новый ключ доступа, во всплывающем окне введите свой ключ.

Нажав на Ok, вы получите пару ключей: Public и Private.

Теперь в корне Magento или откройте ~/.composer/auth.jsonи поставьте следующие строки

{
    "http-basic": {
        "repo.magento.com": {
            "username":"<your public key>",
            "password":"<your private key>"
        }
    }
}

Тебе хорошо идти. Помните, что auth.jsonфайл содержит стандартный json, если вы видите какую-либо ошибку, просто убедитесь, что ваш файл аутентификации содержит действительный json, вы можете проверить свой json на JsonLint

Если вы не хотите добавлять эту информацию в вышеупомянутый файл (хотя это удобно, вам не нужно многократно открывать панель инструментов Marketplace), то во время выполнения просто введите свой открытый ключ в качестве имени пользователя и закрытый ключ в качестве пароля , если вы не добавили пару ключей на auth.jsonпредыдущем шаге, не беспокойтесь, Magento спросит вас, сохранять эту информацию или нет, выбор за вами! :)

Аднан
источник
1

Если этот код выдаст ошибку как auth.json does not contain valid JSON Parse error on line 1:

"http-basic": {
    "repo.magento.com": {
       "username":"<your public key>",
       "password":"<your private key>"
    }
}

Чем это будет выглядеть ниже:

{
    "http-basic": {
       "repo.magento.com": {
          "username":"<your public key>",
          "password":"<your private key>"
        }
    }
}

Здесь вы должны обернуть ваш auth.jsonфайл с дополнительным{}

Нирав Джоши
источник
1

Если вы пытаетесь из интерфейса командной строки:

Требуется аутентификация (repo.magento.com):
Имя пользователя: «Ваш открытый ключ»
Пароль: «Ваш личный ключ»

Помните, что здесь имя пользователя означает «открытый ключ», а пароль - «закрытый ключ».
Продолжайте разработку ...

Gurcharan
источник
1

Чтобы найти имя пользователя и пароль для аутентификации. Просто следуйте инструкциям ниже

Authentication required (repo.magento.com):
      Username: 
  1. открыть https://marketplace.magento.com/customer/account/ & Войти
  2. Нажмите на «Мой профиль»
  3. нажмите «Marketplace», затем нажмите ссылку «My Access»
  4. На странице «Мои ключи доступа» перейдите на вкладку «Magento 2»
  5. нажмите кнопку «Создать новый ключ доступа», вы получите два ключа: Открытый и Частный: открытый ключ - ваше имя пользователя; Закрытый ключ - это ваш пароль
  6. Копировать ключ
Shorabh
источник
да, его четкая инструкция
matinict