如何使用新的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
大会之后不久,文档发生了变化。外面需要帐户用户名/密码(我不确定该用户名/密码已不再可用),但是后来他们更新了。是的…巨大的监督,但至少现在使用的是生成的令牌。:)
davidalger

我将其留给OP来结束问题。事实发生后,文档得到了更新。
2015年

7
@Flyingmana严重,如果我们因为某个人没有阅读文档而关闭每个问题,那么stackexchange的目的是什么
Pawel Dubiel 2015年

2
无论如何,此登录有什么用?他们是否要收集用户帐户?我不明白
测试人员

Answers:


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>"
        }
    }
}

在此处输入图片说明

nb。auth文件也可以在您的用户根目录中找到,因此可以在其他地方使用〜/ .composer / auth.json


14
或在提示时输入公用密钥作为用户名,并输入私人密钥作为密码。
艾伦·风暴

2
该文件位于〜/ .composer / auth.json和magento根目录中
Claudiu Creanga

您必须生成Magento的卖场键看devdocs.magento.com/guides/v2.0/install-gde/prereq/...
himansu

1
为什么将用户名称为公钥,反之亦然?提示应要求提供公钥等!为什么用不同的标签造成混乱?
2016年

每当我尝试在网站上生成新密钥并输入名称时,模式就会消失,并且什么也不会发生。
大都会

27

前面的例子是正确的。此外...通过作曲家的config命令也可以。

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


谢谢!我可能会将其添加到最近更新的文档中:bit.ly/1SMMh9p
Steve Johnson

10

使用您的凭据登录magento。然后按照导航

1.我的帐号

2.市场

3.我的访问密钥

4,Magento2

公钥:xxxxx

私钥:xxxxx

公钥用作用户名,私钥用作密码。


9

前面的例子是正确的。另外,还可以通过作曲家的config命令。

在Magento项目目录中,执行以下Composer命令:

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

只需更换与实际值的占位符(PUBLIC_KEY将成为用户名PRIVATE_KEY密码与HTTP认证repo.magento.com)。

可以使用获取带有伪造更新的最新版本来测试auth设置:

$ composer update --dry-run

这将给出错误消息,例如:

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

如果凭据有问题。

我可以强烈建议按照我的回答建议在项目文件夹中管理凭据。我也不会auth.json手动编辑而是仅使用composer命令编辑它,因为它不太容易出错。


我在哪里可以添加此内容:composer.phar配置http-basic.repo.magento.com <public_key> <private_key>
宝石

@Rathinam您不添加它,而是执行它。该命令是“ composer”,有关如何使用该实用程序的所有详细信息,请参见composer文档:getcomposer.org
hakre,

3

所有答案都很好,只是可以在一个地方编译可能的方案。

Magento宣布了一种通过compsoer与市场进行通信的新方法,当您composer install在Magento的根目录中运行时,它将提示输入用户名和密码,请记住,这不是Magento用户名和密码,而是Magento Marketplace的公钥和私钥。

登录到Magento市场。

转至“我的账户。

在我的产品下,单击访问密钥。

选择Magento的版本(1或2)。

单击“创建新访问密钥”,在弹出框中为您的密钥命名。

单击确定将生成一对密钥,即公钥和私钥。

现在在Magento根目录中或打开~/.composer/auth.json并放入以下行

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

你已准备好出发。请记住,auth.json如果您看到任何错误,则文件包含标准json,只需确保您的身份验证文件包含有效的json即可,您可以在JsonLint上验证json

如果您不想在上述文件中添加此信息(尽管它很方便,则不需要重复打开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):
用户名:“您的公钥”
密码:“您的私钥”

请记住,用户名是“公钥”,密码是“私钥”
继续发展...


1

查找身份验证用户名和密码。只需按照以下步骤

Authentication required (repo.magento.com):
      Username: 
  1. 打开https://marketplace.magento.com/customer/account/并登录
  2. 点击“我的个人资料”
  3. 点击“市场”,然后点击“我的访问”链接
  4. 在“我的访问密钥”页面上,单击“ Magento 2”选项卡
  5. 单击“创建新的访问密钥”按钮,您将获得两个密钥“公共”和“私人”:“公共密钥”是您的用户名;私钥是您的密码
  6. 复制键

是的,它的明确指示
Matinict's
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.