【问题标题】:How can I override the vendor-dir for a single package in composer.json如何覆盖 composer.json 中单个包的供应商目录
【发布时间】:2013-10-31 20:57:06
【问题描述】:

我正在通过 Composer 捆绑一个 Web 应用程序。在我的配置部分,定义了框架(TYPO3 Flow)所需的供应商目录:

"config": {
    "vendor-dir": "Packages/Libraries",
    "bin-dir": "bin"
},

现在我有一个不是来自 Packagist 而是来自 Github 的自定义包。这个包需要签出到 Packages/Application/Vendor.PackageName。所以我尝试使用目标目录:

"repositories": [{
    "type": "package",
    "package": {
        "version": "dev-master",
        "name": "vendor/package",
        "source": {
            "url": "https://github.com/mycompany/mypackagerepo.git",
            "type": "git",
            "reference": "master"
        },
        "target-dir": "Packages/Application/Vendor.Package",
    }
}],
"require": {
    "typo3/flow": "2.0.*",
    "vendor/package": "dev-master"
}

从 Github 克隆工作正常,但包现在已签出到

Packages/Libraries/vendor/package/Packages/Application/Vendor.Package

这意味着 vendor-dir 和 target-dir 是连接在一起的。

如何完全覆盖单个包的供应商目录?感谢您的帮助。

【问题讨论】:

    标签: git composer-php typo3-flow


    【解决方案1】:

    您需要使用Composer Installers 而不是target-dir,并将包类型更改为typo3-flow-package,因此您的包定义可以是:

    "repositories": [{
        "type": "package",
        "package": {
            "version": "dev-master",
            "name": "vendor/package",
            "type": "typo3-flow-package",  
            "source": {
                "url": "https://github.com/mycompany/mypackagerepo.git",
                "type": "git",
                "reference": "master"
            },
            "require": {
                "composer/installers": "~1.0"
            }
        }
    ]}
    

    默认情况下,您的软件包将安装在Packages/Application/package 下,但如果您想在软件包文件夹前加上供应商名称并将其放在Packages/Application/vendor.package 下,只需添加:

    "extra": {
        "installer-paths": {
            "Packages/Application/{$vendor}.{$name}/": ["type:typo3-flow-package"]
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2023-03-29
      • 2017-05-02
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-20
      相关资源
      最近更新 更多