搜索

首页  >  问答  >  正文

在没有Composer的情况下,如何安装Composer PHP包?

<p>我正在尝试安装Coinbase PHP API,但它需要Composer:</p> <p>https://github.com/coinbase/coinbase-php</p> <p>我正在寻找一个通用的PHP解决方案(也许是一个函数),让我能够直接在服务器上安装Composer包,而不必使用Composer。</p> <p>我认为Composer的开发人员认为他们在帮助人们,但实际上有成千上万的初学者开发人员因为“Composer障碍”而无法学习Web开发。</p> <p>如果有一个灵活的解决方案或某种方法可以在没有Composer的情况下安装?我该怎么做?</p> <p><strong>请不要回复一些讽刺的评论</strong>。有些人不想使用Composer,我不明白为什么我们应该被迫使用特定的第三方软件来进行Web开发。</p>
P粉278379495P粉278379495461 天前553

全部回复(2)我来回复

  • P粉268654873

    P粉2686548732023-08-23 11:06:27

    您可以尝试https://php-download.com/,它可以帮助您大部分时间下载所有依赖项,并附带vendor文件夹。它承诺不需要composer。 我自己试过了。它会找到并创建所有所需的文件夹,并将其压缩以供下载。完美运行!!

    回复
    0
  • P粉403804844

    P粉4038048442023-08-23 00:15:59

    在你的示例中,composer.json文件列出了依赖项。

    "require": {
        "php": ">=5.5.0",
        "guzzlehttp/guzzle": "^6.0",
        "psr/http-message": "^1.0",
        "psr/log": "^1.0"
    },

    然后,你需要在packagist网站上找到相应的包。对于每个依赖项,重复相同的过程:在它们对应的composer.json文件中找到其他依赖项并再次搜索。

    当你最终获得了所需包的完整列表后,你只需要逐个安装它们。在大多数情况下,只需要将文件放在项目目录中的某个位置即可。但你还必须确保PHP能够找到所需的类。由于你没有使用Composer的自动加载器,你需要将它们添加到自己的自定义自动加载器中。你可以从相应的composer.json文件中获取信息,例如:

    "autoload": {
        "psr-4": { "Coinbase\Wallet\": "src/" }
    },

    如果你不使用类自动加载器,你需要找出各个require_once语句。由于大多数库作者不会关心这一点,所以你可能需要进行很多试错。

    此外,以防有关此事的混淆:

    • Composer有一个官方的Windows图形界面安装程序和一个适用于所有平台的复制粘贴命令行安装过程。
    • Composer可以在本地运行,其输出可以上传到其他地方。你不需要在共享主机上使用SSH。
    • 安装库所需的命令可以从包的网站上复制粘贴,即使包的维护者不愿意对其进行文档化,packagist.org也会默认生成该命令。

    Composer并不完美,也不适用于所有用例,但是,当要安装依赖于它的库时,它无疑是最好的选择,而且是一个相当不错的选择。


    我查看了我的回答之后的其他答案。它们主要分为两类:

    1. 安装库并编写一个自定义的下载脚本
    2. 使用基于Web的Composer在线界面

    除非我漏掉了什么,否则它们都没有解决OP提出的问题:

    • 学习曲线
    • 使用第三方软件
    • 可能在服务器上进行开发(使用SSH,我推测)
    • 潜在的深度依赖树

    回复
    0
  • 取消回复