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