我有一个本地依赖,它托管在一个私人Gitlab回购。然而,我很难通过作曲家将其拉入我的项目。
我的composer.json
:
"require": {
"crmpicco/GolfBundle": "dev-master"
},
"repositories": [
{
"type": "package",
"package": {
"name": "crmpicco/GolfBundle",
"version": "dev-master",
"source": {
"url": "https://git.crmpicco.com/rfc1872/golfbundle.git",
"type": "git",
"reference": "master"
},
"autoload": {
"psr-4": {
"crmpicco\\GolfBundle\\": ""
}
}
}
}
],
当我在供应商目录中查找目录时,当我不期望的时候,目录是双倍的,例如/供应商/crmpicco/GolfBundle/crmpicco/GolfBundle
当我运行作曲家更新crmpicco\GolfBundle
时,当Symfony尝试执行缓存时,我会得到以下错误:清除:
Script Sensio\Bundle\分布式Bundle\Composer\ScriptHandler::clearCache处理以异常终止的post-update-cmd事件
[运行时异常]
执行“'cache:clear--no warmup'”命令时出错:
PHP Fatal error: Uncaught Symfony\Component\Debug\Exception\ClassNotFoundException: Attempted
to load class "crmpiccoGolfBundle from namespace "crmpicco\GolfBundle".
Did you forget a "use" statement for "crmpicco\GolfBundle\crmpiccoGolfBundle"?
in /var/www/crmpicco/symfony/app/AppKernel.php:31
我在composer.json
设置中遗漏了什么/做错了什么?
捆绑目录结构:
/crmpicco
/GolfBundle
/Component
/DependencyInjection
crmpiccoGolfBundle.php
捆绑composer.json:
{
"name": "crmpicco/GolfBundle",
"type": "library",
"description": "A Symfony 2 bundle which provides an easy way to handle billing and subscriptions.",
"license": "MIT",
"require": {
"php": ">=7.0",
"symfony/config": "~2.8.34",
"symfony/dependency-injection": "~2.8.34",
"symfony/http-kernel": "~2.8.34",
},
"autoload": {
"psr-4": {
"crmpicco\\GolfBundle\\": ""
}
},
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web",
"symfony-assets-install": "relative"
}
}
好啊正如我看到的,您的bundle的composer.json中有错误的
psr-4
自动加载配置,您必须将其更改为以下内容:
"autoload": {
"psr-4": {
"crmpicco\\GolfBundle\\": "crmpicco/GolfBundle"
}
}
另外,如果不想复制dirs,请将bundle的内容移动到根dir,然后不要更改
composer.json
内容。dir重复,因为Composer基于name
属性创建dir结构,在您的情况下,该属性也是crmpicco/GolfBundle
。
对于包含有效composer.json的存储库,不应使用包类型。此类型是为没有composer.json
的包设计的,因此此文件将完全被忽略,与包中的更新相同。
在您的情况下,最好将其定义为git
:
"repositories": [
{
"type": "git",
"url": "https://git.crmpicco.com/rfc1872/golfbundle.git"
}
],
我是新的和开始工作的基于项目,但面临一个问题时安装在项目级别(我使用Ide)。 composer安装--无交互--ansi 使用包信息加载composer存储库 从锁文件安装依赖项(包括需要开发) 没有要安装或更新的内容 生成优化的自动加载文件 过程:- 安装composer和wamp服务器 作曲家创建项目laravel/laravel 和项目创建与此错误和没有供应商文件夹创建 安装larave
我在数字海洋中有一个云,它有1GB的内存。我需要安装一个docker, laravel, mysql, nginx环境,我发现laradock并正常安装,但在容器中运行作曲家时,我返回内存限制错误。 运行时出错:composer安装 尝试更改内存时出错。 警告:您的内核不支持交换限制功能,或者cgroup没有挂载。没有交换限制内存。
composer runtime install命令用于在你要连接的区块链网络的Hyperledger Fabric peer端上安装Hyperledger Composer运行时。该命令必须在composer network start命令之前运行。 请注意:该--businessNetworkName, -n选项必须包含与打算在Hyperledger Fabric peer上运行的业务网络名称
我试图在Symfony2上安装FOSUserBundle。 尝试在终端中运行此命令时 作曲家更新朋友软件交响乐/用户包 我提出了这个错误: 用包信息加载作曲家存储库更新依赖项(包括要求开发)您的需求无法解析为一组可安装的包。 问题1-symfony/icu v1.2.0需要lib-icu 我读到了关于INTL扩展没有安装正确,所以我按照这些说明,重新启动MAMP,问题仍然存在! 我也使用phpin
我已经创建了作曲家包,composer.json是 现在,当我安装 包,我需要那个作曲家安装所有需要的包: 但它没有安装它。 我尝试作曲家更新,作曲家安装。有人能帮忙吗? C项目omposer.json看起来像 我能做的是,作曲家自动安装所有软件包所需的依赖项????谢谢你的建议。
我正在尝试用composer安装maddhatter/laravelfullcalendar包(laravelhelper for fullcalendar.io)。下面是我运行的命令: ''php.././composer.phar需要maddhatter/laravel fullcalendar'' 结果是这样的: 将^1.3版用于maddhatter/laravel fullcalendar