为啥没有安装 Composer 的包依赖项?
Posted
技术标签:
【中文标题】为啥没有安装 Composer 的包依赖项?【英文标题】:Why Composer's package dependencies are not being installed?为什么没有安装 Composer 的包依赖项? 【发布时间】:2018-07-01 10:10:21 【问题描述】:我有以下composer.json
文件:
"require":
"local/my_package": "dev-master"
,
"repositories": [
"packagist.org": false
,
"type": "path",
"url": "my_package/"
]
这需要我的本地包,它定义了以下my_package/composer.json
文件:
"name": "local/my_package",
"require-dev":
"symfony/console": "*"
注意:my_package
文件夹位于 Git 存储库下,默认为 master
分支。
注意:要创建新的 repo,请运行:git init && git add -A && git commit -am'Files'
。
当我运行:composer install -vvv
时,local/my_package
包已正确安装,但没有别的。我希望symfony/console
中定义的依赖项也应该安装。
Executing command (my_package/): git log -n1 --pretty=%H
- Installing local/my_package (dev-master)
我应该如何更正我的composer.json
文件,以便可以自动安装包的依赖项?
【问题讨论】:
愚蠢的问题:如果您禁用从 packagist.org 安装,应该从哪个源安装symfony/console
?
@NicoHaase 不错,但它似乎仍然有效,即使你禁用了 Packagist。
【参考方案1】:
似乎包的composer.json
文件中的require-dev
关键字应该更改为require
。
require-dev
属性仅用于开发包 (root package)。
【讨论】:
以上是关于为啥没有安装 Composer 的包依赖项?的主要内容,如果未能解决你的问题,请参考以下文章