【问题标题】:how to stop composer from removing manually installed package如何阻止作曲家删除手动安装的包
【发布时间】:2020-11-17 05:08:24
【问题描述】:

由于某种原因,我无法通过composer require predis/predis 在我的项目中安装 Predis 包,我已经从https://php-download.com 手动下载了 Predis 包并将 predis 文件夹移动到供应商,然后更新了供应商/作曲家中的文件,它可以工作很好。

但是,问题是当我运行composer dump-autoload 时,此命令会从 vendor/composer/autoload_psr4.php 和 autoload_static.php 文件中删除此包的所有引用。

有人可以帮我如何防止composer dump-autoload 删除此包的引用吗?

【问题讨论】:

  • 如果你想手动加载一个包,不要放在vendor目录下。 Composer 使用它,Composer 维护它,并且该文件夹中不应有任何手动操作
  • @NicoHaase 谢谢,你能建议我把它放在哪里吗?一个参考可以让我明白吗?喜欢拉巴答案?
  • 您可以将它放在应用程序中的其他任何位置 - 但更好的办法是通过将其放入 composer.json 的常用方法来解决您遇到的问题
  • @NicoHaase,不幸的是,我不能花时间在这方面,因为有人在几个包中编写了代码,

标签: laravel composer-php


【解决方案1】:

您可以使用“repositories”来安装本地包,而不是将包复制到供应商目录:

{
    "repositories": [
        {
            "type": "path",
            "url": "../../packages/my-package"
        }
    ],
    "require": {
        "my/package": "*"
    }
}

【讨论】:

    【解决方案2】:

    我通过在 vendor/composer/installed.json 中添加以下代码来修复它,我忘了添加它。

        {
        "name": "predis/predis",
        "version": "v1.1.1",
        "version_normalized": "1.1.1.0",
        "source": {
            "type": "git",
            "url": "https://github.com/nrk/predis.git",
            "reference": "f0210e38881631afeafb56ab43405a92cafd9fd1"
        },
        "dist": {
            "type": "zip",
            "url": "https://api.github.com/repos/nrk/predis/zipball/f0210e38881631afeafb56ab43405a92cafd9fd1",
            "reference": "f0210e38881631afeafb56ab43405a92cafd9fd1",
            "shasum": ""
        },
        "require": {
            "php": ">=5.3.9"
        },
        "require-dev": {
            "phpunit/phpunit": "~4.8"
        },
        "suggest": {
            "ext-curl": "Allows access to Webdis when paired with phpiredis",
            "ext-phpiredis": "Allows faster serialization and deserialization of the Redis protocol"
        },
        "time": "2016-06-16T16:22:20+00:00",
        "type": "library",
        "installation-source": "dist",
        "autoload": {
            "psr-4": {
                "Predis\\": "src/"
            }
        },
        "notification-url": "https://packagist.org/downloads/",
        "license": [
            "MIT"
        ],
        "authors": [
            {
                "name": "Daniele Alessandri",
                "email": "suppakilla@gmail.com",
                "homepage": "http://clorophilla.net"
            }
        ],
        "description": "Flexible and feature-complete Redis client for PHP and HHVM",
        "homepage": "http://github.com/nrk/predis",
        "keywords": [
            "nosql",
            "predis",
            "redis"
        ]
    }
    

    【讨论】:

      猜你喜欢
      • 2013-05-26
      • 2021-03-08
      • 2018-01-15
      • 2015-08-05
      • 2014-02-26
      • 2014-01-29
      • 2017-09-15
      • 2023-03-03
      • 2021-03-16
      相关资源
      最近更新 更多