我正在尝试创建一个自定义的供应商包,但尚未将该包放在packagegist上。根据文档,该包可以从git(vcs)而不是packagist加载:https://getcomposer.org/doc/05-repositories.md#loading-a-package-from-a-vcs-repository
yii2项目(尽管不认为框架很重要)我已经在供应商文件夹中创建了包:
foundationize/yii2基础(文件夹结构如上,我已经查了四遍)。
我的根public_html/composer.json有以下条目:
"minimum-stability": "dev",
"require": {
"php": ">=5.4.0",
"yiisoft/yii2": ">=2.0.5",
"yiisoft/yii2-swiftmailer": "*",
"foundationize/yii2-foundation": "dev-master"
},
我的包编写器文件vendor/foundationize/yii2-foundation/composer.json看起来像:
{
"name": "foundationize/yii2-foundation",
"description": "The Foundation extension for the Yii2 framework",
"keywords": ["yii2", "foundation"],
"type": "yii2-extension",
"license": "BSD-3-Clause",
"support": {
"issues": "https://github.com/foundationize/yii2-foundation/issues",
"wiki": "https://github.com/foundationize/yii2-foundation/wiki",
"source": "https://github.com/foundationize/yii2-foundation.git"
},
"authors": [
{
"name": "gvanto",
"email": "gvanto@hotmail.com",
"homepage": "http://foundationize.com"
}
],
"require": {
"yiisoft/yii2": "*"
},
"autoload": {
"psr-4": {
"foundationize\foundation\": ""
}
},
"repositories": [
{
"packagist": false,
"type": "vcs",
"url": "https://github.com/foundationize/yii2-foundation.git"
}
]
}
当我运行composer安装(或更新)时,我不断收到以下错误:
您的要求无法解析为一组可安装的包裹。
问题1-在任何版本中都找不到请求的程序包foundationize/yii2 foundation,程序包名称中可能存在拼写错误。
潜在原因:
- 包裹名称拼写错误
- 根据您的最低稳定性设置,该软件包没有足够稳定的版本,请参阅https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion了解更多详细信息
读取https://getcomposer.org/doc/articles/troubleshooting.md对于进一步的常见问题。
我在谷歌上搜索了一下,阅读了文档,似乎无法让它正常工作(总是同样的错误,我实际上认为如果它说没有找到包或找到了不正确的包版本,这会更有用)。
您必须将repositories
条目添加到根composer.json
文件中。否则,Composer不知道在哪里搜索您的包。
也有类似的问题,因为我在新Drupal结构的/web目录中运行composer。当我在根部跑步时,一切都很好。令人烦恼的是,您需要在/web 中运行Drush
由于Laravel版本5.5具有包自动发现功能,因此无需添加服务提供商。所有你需要注册这样的包:
composer需要barryvdh/laravel-debugbar:dev-master
你可以在这些文章中找到更多信息:
https://medium.com/@taylortwell/旅行中自动搜寻包装-5-ea9e3ab20518https://divinglaravel.com/laravels-package-auto-discovery