我在bitbucket上托管了一个TYPO3扩展程序。我想用作曲家获得这个扩展。据我所知,我的扩展根目录中必须有一个composer.json,我的composer.json中必须有一些条目,我运行的是composer install
我的扩展程序的composer.json
{
"name": "vendor/extkey",
"type": "typo3-cms-extension",
"description": "Extension for bla bla bla",
"keywords": [],
"homepage": "http://www.vendor.com",
"authors": [
{
"name": "blah",
"email": "dev@vendor.com",
"role": "Developer"
}
],
"version": "2016",
"require": {
"composer/installers": "~1.0",
"typo3/cms-core": "^7.6.0"
}
}
我运行作曲家更新的composer.json:
{
"repositories": [
{
"type": "composer",
"url": "http://composer.typo3.org/"
},
{
"type": "git",
"url": "https://user@bitbucket.org/path/extension.git"
}
],
"name": "blah",
"require": {
"typo3/cms": "7.6.2",
"bk2k/bootstrap-package" : "dev-master",
"path/extension": "2016"
},
"extra": {
"typo3/cms": {
"cms-package-dir": "{$vendor-dir}/typo3/cms",
"web-dir": "web"
},
"installer-paths": {
"typo3conf/ext/{$name}": ["vendor/package"]
}
}
}
我总是出错: 在任何版本中都找不到请求的包路径/扩展名,包名称中可能存在拼写错误。
有人有一个有效的例子吗?
答案 0 :(得分:3)
在任何版本中都找不到请求的包
<insert-package-key-here>
,包名中可能有拼写错误。
此消息表示您注册的存储库中不存在您要求Composer安装的版本。现在,当需要来自Git存储库的包时,Composer将使用该存储库中的标记和分支来获取其版本信息。
由于您已将扩展程序设为"vendor/extKey": "2016"
,因此Composer将在您的存储库中查找名为2016
的标记。
您在评论中说明您有一个名为2016
的分支。需要分支时,您需要在dev-<branch>
中使用composer.json
作为版本说明符:
"require": {
"vendor/extKey": "dev-2016"
}
或者,在您的存储库中创建一个标记,并将其用作composer.json
中的版本。
另见Composer manual关于此(强调我的):
标签
对于看起来像版本的每个标记,都会创建该标记的包版本。它应匹配&#39; X.Y.Z&#39;或者&#39; vX.Y.Z&#39;,可选后缀为-patch(-p),-alpha(-a),-beta(-b)或-RC。后缀也可以后跟一个数字。
分支机构
对于每个分支,都将创建一个包开发版本。如果分支名称看起来像版本,则版本将为
{branchname}-dev
。例如,分支2.0将获得2.0.x-dev版本(由于技术原因添加.x,以确保它被识别为分支)。 2.0.x分支也是有效的,并且也可以转换为2.0.x-dev。 如果分支看起来不像版本,则为dev-{branchname}
。master
会产生dev-master
版本。