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

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

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

我正在寻找一种通用的PHP解决方案(也许是一个函数),使我无需使用Composer即可直接将composer软件包安装到服务器上。

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

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

请不要以讽刺的评论回应。 有些人不想使用Composer,而且我不明白为什么要为了进行Web开发而将我们引入特定的第三方软件。

Amy Neville asked 2019-10-09T04:58:19Z
5个解决方案
61 votes

您可以尝试[https://php-download.com/],它可以帮助您大多数时候下载所有依赖项以及vendor文件夹。 它保证不需要作曲家。我自己试过了。 它查找并创建所有必需的文件夹,并将其压缩以供下载。 完美的作品!

jahajee.com answered 2019-10-09T05:00:45Z
20 votes

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

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

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

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

"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 answered 2019-10-09T05:00:19Z
2 votes

我必须对没有SSH访问权限的FTP服务器执行此操作。 这里列出的站点正常工作,然后我意识到您可以只在自己的服务器上安装作曲家(使用目标的PHP版本),然后复制所有文件。

Adam Thompson answered 2019-10-09T05:01:11Z
2 votes

这不是最终的解决方案,但对我而言,在大多数情况下是一个很大的帮助:[https://github.com/Wilkins/composer-file-loader]

允许您像composer一样加载composer.json文件。   这允许您在没有composer的情况下加载composer.json文件(因此   理论上,PHP 5.2就足够了)

我知道这个问题很老,但我希望它能对某人有所帮助。

helderk answered 2019-10-09T05:01:49Z
2 votes

我正在使用网站的共享托管,无法在该网站上执行命令。 除了我通过浏览器请求的通过php脚本请求运行作曲家之外,我通常还会使用以下工作流程:

  • 确保您在本地安装了php。
  • 在桌面上创建目录。
  • 从[https://getcomposer.org/download/](在标题* Manual Download下)下载composer.phar并将其放置在目录中。
  • 使文件composer.json粘贴以下内容

    php composer.phar update
  • 使用您选择的外壳浏览目录(bash,git-bash,cmd,Windows bash)

  • php composer.phar updatescreenshot of bash output
  • 通过ftp或您使用的任何机制将供应商目录上传到您的Web服务器。
  • 包括在您的php项目中,您在其中加载库(修改您上传供应商dir的路径,以便它将包含该自动加载文件)

    php composer.phar update

这样,您可以获得依赖管理的好处,而不必手动包含所有庞大的文件并手动下载所有依赖,更新它们就像键入php composer.phar update然后将服务器上的供应商目录替换为 新的那一个。

Tschallacka answered 2019-10-09T05:03:29Z
translate from https://stackoverflow.com:/questions/40545795/how-do-i-install-composer-php-packages-without-composer