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

新手上路,请多包涵

我正在尝试安装 Coinbase PHP API,但它需要 Composer:

https://github.com/coinbase/coinbase-php

我正在寻找一个通用的 PHP 解决方案(可能是一个函数),让我可以将 composer 包直接安装到我的服务器上,而无需使用 Composer。

我认为 Composer 的开发人员相信他们正在帮助人们,但实际上有成千上万的初学者开发人员因为“Composer 障碍”而无法学习 Web 开发。

如果有一个灵活的解决方案或某种方法可以在没有 Composer 的情况下安装,那真的会有所帮助吗?我怎样才能做到这一点?

请不要用一些讽刺的评论来回应。有些人不想使用 Composer,我不明白为什么我们应该被赶到特定的第三方软件中来进行 Web 开发。

原文由 Amy Neville 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

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

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

然后,您必须在 packagegist 站点中找到相应的包。对每个依赖项重复相同的过程:在其对应的 composer.json 文件中找到其他依赖项并再次搜索。

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

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

如果您不使用类自动加载器,则需要找出单独的 require_once 语句。您可能需要大量的试验和错误,因为大多数图书馆作者不会关心记录这些。

另外,以防万一对此感到困惑:

  • Composer 具有适用于 Windows 的官方 GUI 安装程序和适用于所有平台的 复制和粘贴 命令行安装过程。
  • Composer 可以在本地运行,它的输出只是上传到其他地方。您的共享主机不需要 SSH。
  • 安装库所需的命令可以从包网站复制和粘贴——即使包维护者不想记录它,packagist.org 默认会生成它。

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


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

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

除非我遗漏了什么,否则他们都没有解决 OP 表达的抱怨:

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

原文由 Álvaro González 发布,翻译遵循 CC BY-SA 3.0 许可协议

可以通过制作自己的小型本地作曲家下载器来完成对我有用的替代解决方案(因为 php-download 已关闭)。

  1. 在本地下载并安装 XAMPP: https ://www.apachefriends.org/index.html
  2. 在本地下载并安装composer: https ://getcomposer.org/download/
  3. 打开命令提示符,导航到 c:\temp 并简单地输入作曲家依赖关系,例如: composer require league/oauth2-client
  4. 使用 FTP 程序将文件从您的 c:\temp 文件夹复制到您的网络主机
  5. 将此添加到您的 php 的顶部: require("vendor/autoload.php");

原文由 jsmars 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题