php 找不到要修补的文件,但文件存在

dkqlctbz  于 2023-03-16  发布在  PHP
关注(0)|答案(1)|浏览(114)

我正在使用cweagans/composer-patches来通过composer修补文件。我正在尝试应用一个补丁到2个文件,但是它出现了这个错误:error: vendor/composer/composer/src/Composer/Repository/CompositeRepository.php : No such file or directory,这是我试图修补的文件。问题是,如果我运行nano vendor/composer/composer/src/Composer/Repository/CompositeRepository.php,我可以打开文件,没有问题,所以文件存在。我不知道如何让它工作,或者为什么它不能打开存在的文件,它说它不存在。
以下是修补程序文件:

--- vendor/composer/composer/src/Composer/Repository/ArrayRepository.php    2021-04-27 04:11:08.000000000 -0700
+++ vendor/composer/composer/src/Composer/Repository/ArrayRepository.php    2022-11-10 10:51:04.206095616 -0800
@@ -274,7 +274,7 @@
      *
      * @return int Number of packages
      */
-    public function count()
+    public function count(): int
     {
         if (null === $this->packages) {
             $this->initialize();
nbysray5

nbysray51#

查看带有补丁描述的编写器代码的一部分会很有用。

--- vendor/composer/composer/src/Composer/Repository/...
+++ vendor/composer/composer/src/Composer/Repository/...

应该是

--- a/src/Composer/Repository/...
+++ b/src/Composer/Repository/...

和composer.json内部

"extra": {
    "patches": {
        "composer/composer": {
            "Description info": "path/to/patch/file.patch"
        }
    }
},

相关问题