使用composer加载自定义git存储库
我正在写一个框架,它可以用于我未来的项目。 我想把这个框架放到一个私人托管的git服务器上,并在我未来的项目中用composer加载它 我可以知道当我git init时,应该使用“-bare”吗? 我曾经创建“裸”回购协议,但作曲家说找不到该包。我四处搜索,相信这是由于“composer.json的缺失”。 然而,如果没有“-bare”,我甚至无法将代码推送到服务器。我将框架“git克隆”到另一个位置,并使用composer加载该位置,仍然失败 我尝试了以下两个版本,都失败了:使用composer加载自定义git存储库,git,composer-php,Git,Composer Php,我正在写一个框架,它可以用于我未来的项目。 我想把这个框架放到一个私人托管的git服务器上,并在我未来的项目中用composer加载它 我可以知道当我git init时,应该使用“-bare”吗? 我曾经创建“裸”回购协议,但作曲家说找不到该包。我四处搜索,相信这是由于“composer.json的缺失”。 然而,如果没有“-bare”,我甚至无法将代码推送到服务器。我将框架“git克隆”到另一个位置,并使用composer加载该位置,仍然失败 我尝试了以下两个版本,都失败了: "reposit
"repositories": [
{
"type": "vcs",
"url": "https://server/git/sdk/"
}
]
"repositories": [
{
"type": "package",
"package": {
"name": "vendor/sdk",
"version": "master",
"source": {
"url": "https://server/git/sdk/",
"type": "git",
"reference": "master"
}
}
}
]
谢谢。我正在参考有关如何从VCS加载软件包的官方文档: 要要求私有项目B,您需要公共项目A的
composer.json
文件中的两件东西:
vcs
,并带有指向服务器上专用存储库的URL{
"name": "project A",
"description": "public project A requiring private project B",
"require": {
"vendor/my-private-repo": "dev-master"
},
"repositories": [
{
"type": "vcs",
"url": "git@your-server.com:vendor/my-private-repo.git"
}
]
}
我可以知道当我git init时,应该使用“-bare”吗?我曾经创建“裸”回购协议,但作曲家说找不到该包。我四处搜索,相信这是由于“composer.json的缺失”
git init--bare
创建一个没有工作树的存储库。这意味着存储库不包含源文件的工作副本或签出副本。只有repo的git修订历史记录存储在存储库的根文件夹中(而不是.git子文件夹中)
我将框架“git克隆”到另一个位置,并使用composer加载该位置,仍然失败
您不需要git clone
或git init
存储库来存储本地副本,只需使用Composer直接从专用服务器获取即可
我们有以下情况:
- 带有
的项目A应该从私有回购获取项目Bcomposer.json
- 我们将git排除在外,让Composer进行提取。不要手动获取
- 并且只关注的
方面来解决这个问题(见上文)composer.json
旁注:您发布的第二个
存储库
定义定义了一个包
。
这在中进行了描述
您可以免费要求将私有repo作为包,但此处不需要它,因为上面的
composer.json
应该可以正常工作。“选项”:{“ssh2”:{“username”:“dummy”,“privkey_file”:“}}我需要一个密钥才能进入主机。我正在Windows上使用Netbeans。我应该如何定义密钥文件路径?是否也需要公钥文件?我可以知道如何在URL中指定端口吗git@your-server.com:vendor/my-private-repo.git?谢谢好的,我已经搞定了。我使用Jens提到的配置,但是用SSH替换url。我在“C:\Users\yourname\.SSH\”中放置了一个带有SSH密钥路径的“config”。现在一切都很好。FYR这是“配置”的外观: