【问题标题】:Composer removing random files from package after installationComposer 安装后从包中删除随机文件
【发布时间】:2017-09-14 18:14:36
【问题描述】:

这是控制台输出(略短):

λ composer require mpdf/mpdf
Using version ^6.1 for mpdf/mpdf
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 2 installs, 0 updates, 0 removals
  - Installing setasign/fpdi (1.6.2): Downloading (100%)
  - Installing mpdf/mpdf (v6.1.3): Downloading (100%)
Writing lock file
Generating autoload files
Removed 31 files or directories.

为什么还有最后一行?然后当我尝试在我的项目中使用 mPDF 时,它不起作用(找不到文件),因为目录中确实缺少大多数 mPDF 源文件。当我在作曲家缓存中查找时,所有文件都在那里,所以作曲家可能会安装所有文件,然后随机删除 31 个文件或目录。为什么?我该如何解决这个问题?我尝试使用更新版本的软件包,同样的问题。

Composer 版本:1.5.2(刚刚更新) 还在命令之前清除缓存。

【问题讨论】:

    标签: php composer-php mpdf


    【解决方案1】:

    线是dg/composer-cleaner包引起的 我相信你已经安装了。

    卸载软件包,它将停止删除文件。

    或者,您可以根据软件包自述文件设置软件包以忽略 mpdf 供应商目录:

    您还可以通过 composer.json 指定要忽略的路径。据我浏览代码所知,没有办法忽略整个包,因此您必须明确指定根目录中的所有文件和目录。

    {
        "require": {
            "dg/composer-cleaner": "^1.1",
            "mpdf/mpdf": "^6.1"
        },
        "extra": {
            "cleaner-ignore": {
                "setasign/fpdi": [
                    "fpdi_bridge.php",
                    "pdf_parser.php"
                ],
                "mpdf/mpdf": [
                    "collations",
                    "font",
                    "includes",
                    "patterns",
                    "qrcode",
                    "tmp",
                    "ttfontdata",
                    "ttfonts",
                    ".gitignore",
                    "compress.php",
                    "config.php",
                    "config_fonts-distr-without-OTL.php",
                    "config_fonts.php",
                    "config_lang2fonts.php",
                    "config_script2lang.php",
                    "graph.php",
                    "graph_cache",
                    "iccprofiles",
                    "lang2fonts.css",
                    "mpdf.css",
                    "MpdfException.php",
                    "phpunit.xml",
                    "progbar.css",
                    "Tag.php"
                ]
            }
        }
    }
    

    使用 mPDF 7.x(现在处于测试阶段)应该会容易得多,它具有更健全的项目目录结构。

    【讨论】:

    • 宾果游戏!这是一个错误还是一个功能? :D
    • 不知道。可能是错过了一个不太重要的案例。
    猜你喜欢
    • 2013-04-01
    • 1970-01-01
    • 2018-08-27
    • 2019-06-13
    • 2022-11-03
    • 2021-08-30
    • 1970-01-01
    • 1970-01-01
    • 2020-03-22
    相关资源
    最近更新 更多