【问题标题】:composer.json in a Symfony bundleSymfony 包中的 composer.json
【发布时间】:2017-06-15 12:18:34
【问题描述】:

我在我们的本地 git 服务器中创建了一个新的 Symfony 包,它运行良好。我在一个新的 Symfony 项目中使用它,使用 Composer 将包导入到项目中vendor\Company\AppBundle它依赖于一个外部包,所以我在该包的根目录中创建了一个composer.json 文件:

{
  "name": "Company/AppBundle",
  "description": "Application resources",
  "type": "symfony-bundle",
  "license": [
    "proprietary"
  ],
  "require": {
     "jms/metadata": "~1.1"
  }
}

现在我希望 composer update 能够获得 jms/metadata 包,但它没有。

我通过以下方式导入Company/AppBundle

"repositories": [
    {
        "type": "package",
        "package": {
            "name": "Company/AppBundle",
            "version": "2.1.2",
            "source": {
                "url": "git://github.com/guillaumepotier/parsley.js.git",
                "type": "git",
                "reference": "2.1.2"
            }
        }
    }
],
"require": {
    "Company/AppBundle": "*",
}

composer list --tree 确实显示了Company/AppBundle,但没有列出它下面的任何依赖项。

composer validate --with-dependencies 没有任何相关信息。

【问题讨论】:

  • 您使用的是什么版本的作曲家? composer show Company/AppBundle -i -t 得到什么输出?

标签: json symfony composer-php


【解决方案1】:

听起来您在vendor/Company/AppBundle 中添加了composer.json 文件。从不建议修改 vendor 目录中的内容。 vendor 目录也不被作曲家用来确定需求(即使在 path 存储库的情况下,它仍然是读取的源,而不是 vendor 目录)。

我也不明白你是如何安装你的Company/AppBundle 的,如果它还没有composer.json。您能否详细说明您的项目/依赖项的层次结构以及取决于什么?

【讨论】:

  • 我在项目的根目录中使用composer.json 导入Company/AppBundle:` "repositories": [ { "type": "package", "package": { "name": “公司/AppBundle”,“版本”:“0.0.72”,“来源”:{“url”:“git-srv.local/companybundles/appbundle.git”,“类型”:“git”,“参考”:“master”}}}] “要求”:{“公司/AppBundle”:“*”,}`
  • 我已经修改了vendor/Company/AppBundle 以测试它是否可以工作,但我确实拥有对其存储库的主访问权限。只要您手动需要它的依赖项,它就可以完美地工作,但它们已经增长,我们希望在包本身中隐式地需要它们。
  • 不确定你为什么使用包类型而不是 vcs 类型。手动维护包类型是一个非常麻烦的过程,它真的应该只用于根本无法以更优选的方式包含的源。由于您拥有源代码库,因此您可以简单地向其中添加 composer.json 并将其作为 vcs 存储库类型包含在内。
  • 修复了它。将Company/AppBundle 导入为"type" : ""vcs" 而不是"type" : "package" 让作曲家在该仓库中使用composer.json
猜你喜欢
  • 2017-11-16
  • 2020-03-21
  • 1970-01-01
  • 2017-12-27
  • 1970-01-01
  • 2014-02-02
  • 1970-01-01
  • 2013-09-25
  • 2014-06-07
相关资源
最近更新 更多