我们如何在作曲家中使用自托管的git存储库?

时间:2014-07-08 10:18:34

标签: php git symfony composer-php

我有一个带有一些捆绑的symfony项目 我有一个不在github的捆绑(我们自己的服务器专有)。因此,我们的服务器中有一个功能git存储库 这是一个通用的包,所以我们需要将它与作曲家一起使用。

我正在寻找一种方法来在我的composer.json中添加存储库(对于每个Symfony项目)
我将这篇文章http://marekkalnik.tumblr.com/post/22929686367/composer-installing-package-from-local-git-repository改为红色,但它不起作用......

"require": {
    ...
    "bt/commonbundle": "dev-master"

},
"repositories" : [{
    "type" : "vcs",
    "url" : "/absolute/path/to/my/repo/CommonBundle.git"
}],  

CommonBundle.git是一个简单的回购(我也尝试过工作目录......)
我试过vcs type和git type

结果是:

[Composer\Repository\InvalidRepositoryException]  
    No valid composer.json was found in any branch or tag of /absolute/path/to/my/repo/CommonBundle.git, could not load a package from it.  

我打字"作曲家验证"在我的包中,我的json是有效的

你有解决这类问题的方法吗? 我想:

  • 使用composer(cmd:composer update)
  • 在供应商文件夹中查看我的专有捆绑包

编辑:
感谢pozs,我忘了提交我的composer.json文件.... 但是现在,作曲家要我安装symfony / icu,但是我没有使用它,为什么呢? 我无法安装php库

谢谢你,
最好的问候

2 个答案:

答案 0 :(得分:2)

您必须在存储库中编写另一个composer.json,例如:

{
    "name": "nameOfYourBundle",
    "type": "symfony-bundle",
    "description": "some description",
    "authors": [
        {
            "name": "author",
            "homepage": "http://homepage"
        }
    ],
    "require": {
    },
    "require-dev": {
    },
    "autoload": {
        "psr-4": { "path\\to\\your\\bundle": "" } // psr-4/psr-0 is for structure files
    }
}

答案 1 :(得分:0)

看看这个snipet

{
    "require": {
        "notihnio/foo": "master"
    },
    "repositories": [
        {
            "type": "vcs",
            "url":  "https://username:password@bitbucket.org/notihnio/foo"
        }
    ]
}

我也为此创建了一个帖子。 https://notihnio.tumblr.com/post/142674566481/using-composer-with-private-packages