我在Bit Bucket上托管了一个私人项目。我有一个SSH密钥设置。有没有一种方法可以像在Packagist上一样使用php composer create-project vendor/name path
命令?
有不同的方法可以实现这一点,那就是使用composer存储库来代替packagist.org,这是一种更好、更集中的方式来管理您的私人composer包。另一种方法是使用composer.json,它将您的私有repo按环境合并到您的环境中。
第一
Composer允许您使用私有存储库来创建项目。
就像这样…
composer create-project vendor/name path --repository-url=http://repo.yourcomposerrepo.com
因为你不会向packagist提交私人包裹。该url至少只需要一个packages.json文件,如果您想要一个更动态的packages.json解决方案,可以使用satis或您自己的packagegist。
使用composer.json的方法适用于已经创建的项目,这些项目将使用私有包的自定义存储库,而不是从私有存储库创建新项目。如果您想走类似的路线,请使用下一种方法。
第二
为您的环境在config.json中全局配置您的私有存储库。然后像往常一样。。
composer create-project vendor/name path
是的,Composer允许您将私有项目作为"存储库"添加到Composer.json文件中。因此,您可以将私人项目包含到另一个项目中。
它提供了对GitHub和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.*"
},
}
我过去的方式:
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-项目
我们有Toran代理(https://toranproxy.com/)作为一个私人包装师安装,为此我们可以使用下面的命令创建项目
composer create-project vendor/framework --repository-url=http://your-toran-repo-url/repo/private/ --stability=dev project name
如果项目没有标记或您正在寻找出血边缘版本,我们将使用稳定性版本。
--stability=dev
由于这篇文章有一些吸引力,我想我应该添加另一个我使用的解决方案。打开~/.bash_profile
并添加类似的内容
function _cmsname {
composer create-project vendor/package --repository-url=http://private.repo.url.co.uk/ --stability=dev "$1"
}
alias cmsname=_cmsname
以及终端中的恰好类型CCD_ 2。