【问题标题】:Gitlab private repository via composerGitlab私有仓库通过composer
【发布时间】:2017-11-27 22:54:59
【问题描述】:

今天我在 gitlab 中创建了私有存储库,并想在我的 laravel 项目中通过 composer 安装它,但是当我运行 composer update 时出现以下错误

您的配置不允许连接到............

这是我的 composer.json

的一部分
"repositories": [{
        "type": "package",
        "package": {
            "name": "abc/def",
            "version": "dev-master",
            "type": "package",
            "source": {
                "url": "http://gitlab.abc.pro/abc/def",
                "type": "git",
                "reference": "master"
            },
        }
    } ],
"require": {
        "php": ">=5.5.9",
        "laravel/framework": "5.1.*",
        "abc/def" : "dev-master",  
    },

【问题讨论】:

  • 我敢打赌它是 http 而不是 https。尝试在存储库部分更改它或在您的全局作曲家配置中允许它composer config -g secure-http false
  • 感谢您的回复。 @NormanM 我已经解决了,问题来自我需要在我的 ssh 中拥有的公钥和私钥。
  • @YurGasparyan 如果你解决了这个问题,然后回答你的帖子你是如何一步一步解决的,这样如果以后遇到同样的问题,它会帮助其他人。

标签: composer-php repository gitlab


【解决方案1】:

你可以使用:

"repositories": [
    {
     "type": "vcs",
      "url": "ssh://git@gitlab.yourdomain.com/repo/private.git"
    }
]

还有这个:

"require": {
    "php": ">=7.0.0",
    "repo/private": "dev-master",
 }

【讨论】:

  • 太棒了。感谢分享。在 Composer 手册上都要求设置 ssh 密钥,当我们只放置 git@github.com:foo/secret.git 而没有 ssh 时,它总是会回退到 http 方法。挺麻烦的
  • 为什么我们使用 vcs 而不是 git?
【解决方案2】:

为了方便使用 gitlab 存储库,我使用了packagist 服务,因此您需要转到 gitlab 存储库的设置并设置从 packagist 获取的 oAuth 令牌。要使用私有存储库,您需要获取公钥和私钥并将其设置在 gitlab 存储库中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-27
    • 2014-02-26
    • 1970-01-01
    • 2018-04-29
    • 2016-06-14
    • 1970-01-01
    • 2021-11-04
    相关资源
    最近更新 更多