为啥没有安装 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 的包依赖项?的主要内容,如果未能解决你的问题,请参考以下文章

阻止 Composer 更新重新安装

我可以从我自己的 Composer Satis 安装中同步或镜像来自 packagist.org 的依赖项吗?

为啥更新包时“composer.json”没有更新?

在部署时安装 Composer 依赖项

为啥 NPM 7.17 不安装我的对等依赖项

composer update - 更新单个包时如何跳过更新依赖项