来自私人仓库的composer create-project

时间:2013-08-10 08:31:51

标签: laravel laravel-4 composer-php

我在Bit Bucket上有一个私人项目。我有一个SSH密钥设置。有没有办法可以像使用Packagist上的那样使用php composer create-project vendor/name path命令?

5 个答案:

答案 0 :(得分:17)

有不同的方法可以实现这一点,即使用一个用于代替packagist.org的composer存储库,这是一种更加集中的方式来管理您的私有作曲程序包。另一种方法是使用composer.json,它将您的私有存储库整合到您的环境中,每个环境。

第一

Composer allows you to use private repositories to create projects.

像这样...

composer create-project vendor/name path --repository-url=http://repo.yourcomposerrepo.com

因为您不会向packagist提交私人包裹。该网址至少需要一个 packages.json 文件,如果您想要一个更加动态的packages.json解决方案,可以使用satis或您自己的packagist

使用composer.json的方法适用于已创建的项目,这些项目将使用自定义存储库用于私有包,而不是用于从私有存储库创建新项目。如果你想沿着类似的路线走下去,请使用下一个方法。

第二

将您的私人存储库配置为适用于您环境的全局config.json。然后像往常一样..

composer create-project vendor/name path

答案 1 :(得分:14)

是,Composer allows you to add private projects as 'repositories'到您的composer.json文件。因此,您可以将私有项目包含到另一个项目中。

It provides support for GitHub and Bitbucket(以及SVN和Mercurial)。

您需要修改您的composer.json文件,如下所示:

{
    "repositories": [ {
        "type": "package",
        "package": {
            "name": "TheShiftExchange/test",
            "version": "1.0.0",
            "source": {
                "url": "https://github.com/TheShiftExchange/test.git",
                "type": "git",
                "reference": "master"
              }
         }
    }],
    "require": {
        "laravel/framework": "4.0.*",
        "TheShiftExchange/test": "1.0.*"
    },
}

答案 2 :(得分:3)

我们已将Toran Proxy(https://toranproxy.com/)安装为私有包装,为此我们可以使用下面的命令创建项目

composer create-project vendor/framework --repository-url=http://your-toran-repo-url/repo/private/ --stability=dev project name

如果没有标记项目或者您正在寻找最新版本,我们会使用稳定版本。

--stability=dev

答案 3 :(得分:1)

由于这篇文章有一些牵引力,我想我会添加另一个我使用的解决方案。 打开〜/ .bash_profile

并添加类似

的内容
function _cmsname {
    composer create-project vendor/package --repository-url=http://private.repo.url.co.uk/ --stability=dev "$1"
}
alias cmsname=_cmsname

和终端中的正好类型cmsname projectname

答案 4 :(得分:0)

我以前的方式:

composer create-project vendor/name path --repository="{\"url\": \"https://bitbucket.org/user/project.git\", \"type\": \"vcs\"}" --stability=dev --remove-vcs

参考:https://getcomposer.org/doc/03-cli.md#create-project