php:如何使用 composer 安装一个包

Posted

技术标签:

【中文标题】php:如何使用 composer 安装一个包【英文标题】:php: how to install a package using composer 【发布时间】:2018-12-05 13:53:25 【问题描述】:

我对作曲家完全陌生 ;-)

我尝试使用 composer 在我的本地主机 (ubuntu 16.04) 上安装 mPDF 7.1。

1.) 我安装了 composer 1.6.5。

2.) 下载 mPDF 7.1 (https://github.com/mpdf/mpdf/releases) 并将文件夹解压缩到硬盘。

3.) 在 mpdf-7.1.0 文件夹中打开终端并输入$ composer require mpdf/mpdf 以启动进程

--> 抛出错误信息:

Problem 1
    - The requested package mpdf/mpdf No version set (parsed as 1.0.0) is satisfiable by mpdf/mpdf[No version set (parsed as 1.0.0)] but these conflict with your requirements or minimum-stability.

所以我不知道问题出在哪里,也找不到任何帮助搜索网络。你能帮帮我吗?

安德烈亚斯

编辑:我也试过了:

$ composer require mpdf/mpdf:7.1.0

$ composer require mpdf/mpdf "^7.1.0"

抛出同样的错误信息...

【问题讨论】:

How to install a specific version of package using Composer?的可能重复 不是那个的副本。这更多是关于错误运行 composer install 导致的错误(在错误的文件夹中),并且与特定版本没有太大关系(尽管有错误消息)。 确保作曲家已全局安装。如果有任何问题,请尝试sudo composer require vendor/pacakge 【参考方案1】:
    确保已全局安装 composer。效果很好。 创建一个空目录,您将在其中使用任何包,例如 mPDF 在新目录中运行composer require mpdf/mpdf 上面的命令不起作用使用sudo composer require mpdf/mpdf 如果你想指定你的包的任何版本 然后指定composer require vendor/package:version 例如:composer require mpdf/mpdf:7.1.0 Composer 现在将安装 mPDF 并在供应商目录中创建 autoload.php 用于自动加载文件 mPDF 安装完成现在在同一目录中创建一个名为 mpdf.php 的 php 文件。 在该 PHP 文件中需要 vendor/autoload.php

目录结构应该是您安装mPDF的位置:

vendor
composer.json
composer.lock
mpdf.php

而mpdf.php文件如下:

<?php

require_once __DIR__ . '/vendor/autoload.php';

$mpdf = new \Mpdf\Mpdf();
$mpdf->Writehtml('<h1>Hello world!</h1>');
$mpdf->Output();

【讨论】:

【参考方案2】:

你不需要下载 mPDF,composer 会为你做的。

这样做:

    创建一个空目录,您将在其中使用 mPDF 在新目录中运行composer require mpdf/mpdf Composer 现在将安装 mPDF 并创建自动加载文件 在 PHP 文件中需要 vendor/autoload.php 完成,您现在可以在文件中使用 mPDF。

【讨论】:

当前目录下没有 composer.json @BMX 缺少上下文。也许您可以尝试在网上搜索作曲家基础知识,然后如果仍有问题,请在此处提交单独的问题。 如果您尝试执行您在此处回答的操作,这就是 cmd 将显示的内容。 "当前目录中没有 composer.json" 以更好的方式解释它,以免人们感到困惑。 困惑怎么办?更加详细一些。我刚刚遵循了4点,没有任何问题。甚至没有任何No composer.json in current directory 消息,只注意到./composer.json has been created

以上是关于php:如何使用 composer 安装一个包的主要内容,如果未能解决你的问题,请参考以下文章

如何在本地开发Composer包

用docker的composer安装php依赖包

如何使用 PHP Composer 从 Laravel 中删除一个包?

如何将自己的php包GitHub项目与composer集成使用和同时开发

怎么使用php 包依赖管理工具 composer 执行命令安装

如何使用 composer 安装部分 git 存储库?