composer忽略了installer-paths配置

 闷气敦厚 发布于 2023-02-12 16:35

我第一次尝试使用CakePHP与作曲家,但我有一些问题.

我有这个composer.json:

{
  "name": "example.com.br",
  "repositories": [
    {
      "type": "pear",
      "url": "http://pear.cakephp.org"
    }
  ],
  "config": {
    "vendor-dir": "Vendor/"
  },
  "require": {
    "php": ">=5.4",
    "pear-cakephp/cakephp": ">=2.4.3",
    "cakephp/debug_kit": "2.2.*",
    "smottt/wideimage": "dev-master"
  },
  "extra": {
    "installer-paths": {
      "app/Plugin/DebugKit": ["cakephp/debug_kit"],
      "app/Vendor/Wideimage": ["smottt/wideimage"]
    }
  }  
}

当我跑步时composer install (or update) --prefer-dist,一切正常,除了smottt/wideimage.

此软件包正在安装在该/Vendor文件夹中/app/Vendor,因此,忽略installer-paths.

2 个回答
  • 当然,Danack所说的是真的:composer-installers插件只支持选择的包类型列表.

    为此,我编写了一个composer-installers插件的扩展,它允许"installer-paths"指令处理任意包类型.

    只需要oomphinc/composer-installers-extender在您的composer.json中添加并添加对任何其他任意包类型的支持:

    "extra": {
      "installer-types": ["library"],
      "installer-paths": {
        "special/package/": ["my/package"],
        "path/to/libraries/{$name}/": ["type:library"]
      }
    }
    

    对于未指定类型的包,请使用默认类型library.

    2023-02-12 16:38 回答
  • 从文档中.

    您不能使用它来更改任何包的路径.这仅适用于需要编写器/安装程序并使用它处理的自定义类型的程序包.

    从您正在安装的其中一个软件包:

    {
        "name": "smottt/wideimage",
        "description": "An open-source PHP library for image manipulation. (With namespaces, PHP 5.3+)",
        "homepage": "http://wideimage.sourceforge.net",
        "type": "library",
        "license": ["GPL-2.0","LGPL-2.1"],
        "version": "11.02.19",
        "autoload": {
            "psr-0" : {
              "WideImage" : "lib/"
            }
        }
    }
    

    因此,您尝试安装的软件包基本上不支持自定义安装路径.

    2023-02-12 16:38 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有