composer的安装和使用知识整理

PHPer 2020-04-06 1996 0 1
用composer的时候发现还是要学下 20200406 composer安装和使用的内容不是很多,慢慢写就写完了,O(∩_∩)O哈哈~ 20220524

如何安装 Composer

安装前请务必确保已经正确安装了PHP。打开命令行窗口并执行php -v查看是否正确输出版本号。

打开命令行并依次执行下列命令安装最新版本的 Composer:

php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"

执行第一条命令下载下来的composer-setup.php脚本将简单地检测php.ini中的参数设置,如果某些参数未正确设置则会给出警告;然后下载最新版本的composer.phar文件到当前目录。

上述 3 条命令的作用依次是:

下载安装脚本 -composer-setup.php- 到当前目录。

执行安装过程。

删除安装脚本。

局部安装

上述下载 Composer 的过程正确执行完毕后,可以将composer.phar文件复制到任意目录(比如项目根目录下),然后通过php composer.phar指令即可使用 Composer 了!

全局安装

全局安装是将 Composer 安装到系统环境变量PATH所包含的路径下面,然后就能够在命令行窗口中直接执行composer命令了。

Mac 或 Linux 系统:

打开命令行窗口并执行如下命令将前面下载的composer.phar文件移动到/usr/local/bin/目录下面:

sudo mv composer.phar /usr/local/bin/composer

之后执行

composer -V

查看版本

Composer version 2.3.5 2022-04-13 16:43:00

Windows 系统:

找到并进入 PHP 的安装目录(和你在命令行中执行的php指令应该是同一套 PHP)。

将composer.phar复制到 PHP 的安装目录下面,也就是和php.exe在同一级目录。

在 PHP 安装目录下新建一个composer.bat文件,并将下列代码保存到此文件中。

@php "%~dp0composer.phar" %*

最后重新打开一个命令行窗口试一试执行composer --version看看是否正确输出版本号。 ...

立即注册
分享的网址网站均收集自搜索引擎以及互联网,非查问网运营,查问网并没有提供其服务,请勿利用其做侵权以及违规行为。

更新于:2022-05-24 08:17:43
    您需要登录后才可以评论。 立即注册

    解决Yii2里引入自定义文件 composer dump-autoload后报错:Composer detected issues in your platform: Your Composer dependencies require

    composer dump-autoload 后报错,Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 8.0.0".

    想在Yii2里引入新的自定义文件,结果发现引入的文件中的函数不被调用,于是网上查了下,说是用

    composer dump-autoload
    

    结果运行完后,正常执行了

    Generating autoload files
    Generated autoload files
    

    访问项目发现所有页面都打不开了,报错提示:Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 8.0.0". ...

    立即注册
    更新于:2022-05-07 08:05:22

    Windows环境下Composer的安装教程遇到的问题及解决方法

    在Windows环境下安装Composer,遇到的问题及解决方案

    1.设置了安装路径以及选择了php.exe后,最终安装的时候一直在那等候,不进入真正的安装!

    解决方法:我这里选择的php.exe是共用人家phpstudy的php版本,之所以安装一直不进行,就

    是因为phpstudy打开着,进程处于占用状态,当把phpstudy关闭后,安装正常!

    2.composer安装成功后,在命令提示符里输入composer命令,仍然提示composer不是内部命令

    解决方法:这是因为在安装composer后,必须新打开一个命令提示符,而我之前还是在安装composer

    前的命令提示符窗口里进行,所以提示有误!

    3.在Windows环境下安装Composer(注:Composer要求PHP版本在5.3.2+),你可能会遇到这种安装失败的情况:

    出错信息是 "The openssl extension is missing, which will reduce the security and stability of

    Composer. If possible you should enable it or recompile php with --with-openssl" ,大意就是你的PHP缺少openssl扩展。

    在php的安装目录比如说C:\wamp\bin\php\php5.3.3\中,找到找个目录下的php.ini文件,然后去掉 extension=php_openssl.dll

    这一行开头的注释,之后就可以顺利安装Composer了。

    4:遇到的问题

    在使用composer install 报如下错误的,一般是缺少 php 的扩展,解决方案,

    安装php的扩展

    例如

    cd /usr/local/php/lib

    yum install php-mbstring

    Loading composer repositories with package information

    Installing dependencies (including require-dev) from lock file

    Your requirements could not be resolved to an installable set of packages.

    Problem 1

    - Installation request for php-amqplib/php-amqplib v2.7.0 -> satisfiable by php-amqplib/php-amqplib[v2.7.0].

    - php-amqplib/php-amqplib v2.7.0 requires ext-bcmath * -> the requested PHP extension bcmath is missing from your system.

    Problem 2

    - php-amqplib/php-amqplib v2.7.0 requires ext-bcmath * -> the requested PHP extension bcmath is missing from your system.

    - php-amqplib/thumper v0.5.0 requires php-amqplib/php-amqplib ^2.6 -> satisfiable by php-amqplib/php-amqplib[v2.7.0].

    - Installation request for php-amqplib/thumper v0.5.0 -> satisfiable by php-amqplib/thumper[v0.5.0].

    To enable extensions, verify that they are enabled in your .ini files:

    - /etc/php.ini

    - /etc/php.d/curl.ini

    - /etc/php.d/fileinfo.ini

    - /etc/php.d/json.ini

    - /etc/php.d/phar.ini

    - /etc/php.d/zip.ini ...

    立即注册
    更新于:2022-04-16 17:18:21

    Packagist.org 明确了 Composer 1.x 被弃用的时间表

    2021-02-25

    地球人都知道,Composer 2.0已于 2020 年 10 月下旬发布。我们在发布公告中已经暗示 Composer 1.x 的生命周期即将结束,不过,今天我们将 Packagist.org 对 Composer 1.x 的支持期限(以前所设想的)稍做一下延长。

    首先,我们在过去的几个月中意识到 Composer 1.x 可能要存在数年才能完全消失。 Composer 被安装在太多地方了,因此我们将必须长时间保持对 v1 版元数据的支持(以保证 Composer 1.x 正常运行),以防止干扰用户现有的工作流程。

    但是,我们遇到的最大障碍是:由于 v1 版元数据所使用的格式的限制,因此要占用 packagist.org 的很多资源才能将其转储到静态 JSON 文件中。 因此,我们采取了两个步骤来减少其对我们的基础架构的负面影响:

    从 2021 年 5 月开始降低 v1 版元数据 API 的更新频率

    所有软件包(package)的新版本的更新频率将从当前的每分钟降低到每 15 分钟一次。这意味着新版本需要经过几分钟的时间才能用于 Composer 1.x 的安装。

    从好的方面来看,降低 v1 版元数据的更新频率,意味着我们可以将 v2 版元数据的更新频率提升到秒级,而无须与 v1 版元数据的更新(分钟级)捆绑在一起。

    从 2021 年 5 月开始,限制通过 v1 版元数据 API 访问未使用的软件包

    我们面临的另一个问题是:我们目前需要处理 300,000 个软件包、2,700,000 个版本的同步,而 v1 格式使用了很长的文件列表,这意味着软件包的数量对处理流程的影响很大。...

    立即注册
    更新于:2022-05-24 08:26:44

    慎用composer update

    不出问题还好,出了问题一堆事情

    https://blog.csdn.net/wulove52/article/details/78392663

    问题说明

    我们经常要往现有的项目中添加扩展包,有时候因为文档的错误引导,如下图来自 这个文档 的:

    45f11c9ca9_normal.png

    composer update 这个命令在我们现在的逻辑中,可能会对项目造成巨大伤害。

    因为 composer update 的逻辑是按照 composer.json 指定的扩展包版本规则,把所有扩展包更新到最新版本,注意,是 所有扩展包,举个例子,你在项目一开始的时候使用了 monolog,当时的配置信息是

    "monolog/monolog": "1.*",
    

    安装的是 monolog 1.1 版本,而一个多月以后的现在,monolog 已经是 1.2 了,运行命令后直接更新到 1.2,这时项目并没有针对 1.2 进行过测试,项目一下子变得很不稳定,情况有时候会比这个更糟糕,尤其是在一个庞大的项目中,你没有对项目写完整覆盖测试的情况,什么东西坏掉了你都不知道。

    那应该使用哪个命令呢?install, update 还是 require ?

    接下来我们一一解释。

    简单解释

    package - 从 composer.json 或者对应包的配置,并更新到最新;
    new/package - 添加安装 new/package, 可以指定版本,如: composer require new/package ~2.5.
    

    流程

    下来介绍几个日常生产的流程,来方便加深大家的理解。

    流程一:新项目流程
    创建 composer.json,并添加依赖到的扩展包;
    运行 composer install,安装扩展包并生成 composer.lock;
    提交 composer.lock 到代码版本控制器中,如:git;

    流程二:项目协作者安装现有项目
    克隆项目后,根目录下直接运行 composer install 从 composer.lock 中安装 指定版本 的扩展包以及其依赖; ...

    立即注册
    更新于:2022-04-12 03:41:49

    Could not open input file: composer.phar报错

    今天使用composer下载yii报错提示 Could not open input file: composer.phar

    原因肯定是:在别的项目下载过composer没有设置全局变量或者没有安装composer

    解决:

    打开命令行并依次执行下列命令安装最新版本的 Composer:

    php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
    php composer-setup.php
    php -r "unlink('composer-setup.php');"
    

    原文链接:https://blog.csdn.net/jizha1917/article/details/94245063...

    立即注册
    更新于:2021-12-10 20:38:57

    composer在国内使用效果很差,总提示没有找到要下载的文件

    建议直接在国外的服务器上先把要下的项目下好,然后在传到本地

    composer在国内使用效果很差,总提示没有找到要下载的文件。建议直接在国外的服务器上先把要下的项目下好,然后在传到本地。各种报错都没了。...

    立即注册
    更新于:2021-12-10 23:38:29

    compser安装后无法使用,php7.4版本下安装的

    composer -v

    /usr/bin/env: php: No such file or directory...

    立即注册
    更新于:2021-12-14 08:24:55

    win10系统 安装好composer后 cmd 命令行下输入composer提示不是内部或外部的命令,也不是可执行的程序或批处理文件

    在 windows CMD 下运行composer 出现错误提示: 不是内部或外部命令,也不是可运行的程序或批处理文件,这是因为没有配置 PATH 环境变量。

    以 win10 为例,找到此电脑右击选择属性,点击左侧的高级系统设置,选择高级>环境变量

    eb2b9758dd_normal.png

    弹出环境变量窗口,找到PATH,点击编辑

    6787ff7b3a_normal.png...

    立即注册
    更新于:2021-12-14 20:05:42

    使用composer安装项目需要注意的

    全局改为国内镜像命令:composer config -g repo.packagist composer https://packagist.phpcomposer.com,之后解决composer install遇到:Your requirements could not be resolved to an installable set of packages.方法:解决办法:直接忽略版本 composer install --ignore-platform-reqs 或者 composer update --ignore-platform-reqs

    在国内本地测试时,因为网络的原因,composer install和update很难,会各种报错

    所以建议切换成国内镜像

    composer 默认地址改为中国镜像地址,以及中国镜像地址还原成默认地址

    一、查看当前镜像地址

    在命令行输入如下命令,即可查看全局镜像地址:

    复制代码

    $ composer config -g repo.packagist
    
    {
      "type":"composer",
      "url":"https://packagist.org",
      "allow_ssl_downgrade":true
    }

    下面有把地址修改为中国镜像,如果中国镜像出现了问题,那么您可以还原成官方的默认地址,下面是详细。

    二、启用中国全量镜像服务:

    启用中国全量镜像服务有两种方式,具体配置方法如下:

    1.系统全局配置:

    可以使用 composer config -l -g 查看所有全局配置

    composer config -l -g

    使用如下命令将地址改为中国镜像地址:

    composer config -g repo.packagist composer https://packagist.phpcomposer.com

    镜像名

    地址

    赞助商

    更新频率

    备注

    阿里云 Composer 镜像

    https://mirrors.aliyun.com/composer/

    阿里云

    96 秒

    推荐

    腾讯云 Composer 镜像

    https://mirrors.cloud.tencent.com/composer/

    腾讯云

    24 小时

    -

    PHP 国内 Composer 镜像

    https://packagist.phpcomposer.com

    仁润股份

    24 小时

    不稳定

    华为云 Composer 镜像

    https://repo.huaweicloud.com/repository/php/

    华为云

    未知

    未知...

    立即注册
    分享的网址网站均收集自搜索引擎以及互联网,非查问网运营,查问网并没有提供其服务,请勿利用其做侵权以及违规行为。
    更新于:2021-12-14 21:07:54

    composer 设置Github全局 token,在所有项目上都使用阿里云镜像

     composer引入GitHub上项目是需要使用token

    如果想要以后都不用输入这个token,可以通过全局设置的办法解决,命令如下:

    composer config --global github-oauth.github.com <token>
    

    OK了 ...

    立即注册
    更新于:2022-05-18 11:28:12

    composer.json 变更autoload files后要怎么操作

    composer self-update --rollback

    当您修改了 composer.json 文件中的自动加载文件(autoload files)部分后,需要执行以下步骤来使其生效:

    1. 检查并保存修改:确保您已正确编辑了 composer.json 文件,并对自动加载文件部分进行了所需的更改。请注意,路径应该相对于项目根目录。
    2. 运行 composer dumpautoload:在命令行界面中,进入项目目录,并运行以下命令:
    composer dumpautoload
    

    这将重新生成自动加载所需的类映射文件(classmap),以便 Composer 可以正确加载和自动加载您指定的文件。

    1. 等待生成完成:等待 Composer 完成重新生成自动加载文件的过程。这通常很快,并且不会涉及任何下载或安装操作。
    2. 验证自动加载生效:确认自动加载文件已成功更新。您可以检查终端输出,确保没有生成任何错误。还可以尝试在代码中使用新添加或修改的自动加载文件中的类或函数,验证其是否可以正常工作。

    需要注意的是,composer dumpautoload 命令会生成一个新的自动加载文件,并将其保存在 vendor/autoload.php 中。因此,确保您的项目中的其他文件都使用了正确的自动加载文件路径。...

    立即注册
    更新于:2023-11-26 15:11:03

    composer 在国内现在在是太难用了 20231120

    composer 在国内现在在是太难用了

    不知道是哪个环节出了问题


    如果您在中国使用 Composer 时遇到下载速度较慢或连接问题,可以使用中国的 Composer 镜像来加快下载速度。以下是一些常用的中国 Composer 镜像:

    https://mirrors.aliyun.com/composer/

    https://packagist.phpcomposer.com

    https://mirrors.cloud.tencent.com/composer/ ...

    立即注册
    更新于:2023-11-20 22:29:26

    Call to undefined function Composer\XdebugHandler\putenv() in phar 运行composer命令报错

    这个报错意味着您的PHP环境中缺少了putenv()函数所需的扩展或配置。

    putenv()函数是PHP的一个内置函数,用于设置环境变量。它通常是PHP的一部分,因此出现这个错误可能表示您的PHP环境未正确配置或缺少必要的扩展。

    有几种可能的解决方法:

    1. 确保已安装必要的PHP扩展:检查您的PHP安装并确保已安装ext扩展中的putenv模块。您可以在PHP的php.ini文件中查找以下扩展配置项,确保其前面没有被注释掉:
    extension=ext_putenv.so  ; for UNIX-like systems
    ; extension=php_putenv.dll ; for Windows systems
    
    1. 检查Composer依赖:如果您正在使用Composer进行项目管理,并且遇到了这个错误,可能是由于Composer依赖冲突导致的。尝试在项目根目录下运行以下命令来更新Composer依赖:
    composer update
    

    这将会根据项目的composer.json文件更新所有依赖。...

    立即注册
    更新于:2023-11-26 12:06:38

    composer update 由于目标计算 机积极拒绝,无法连接。

    解决方法:去除环境变量中的代理http_proxy 127.0.0.1:53374设置重新安装composer,安装时不要勾选代理在命令面板用composer -v查看是否安装成功_composer 由于目标计算机积极拒绝,无法连接...

    立即注册
    更新于:2023-11-27 21:37:33

    解决composer update出现的Discard changes [y,n,v,d,s,?]的问题

    在PHP项目中,composer是一个使用非常普遍的包管理工具,在本地开发的时候出现了这个问题一搬来说问题不大,可以人为进行输入交互,但是如果是自动化发布中出现,就会等待输入导致卡住,是一个需要解决的问题。

    表现

    当执行composer update的时候具体体现如下,这个时候就出现了发布等待。467bcfeabe1441b383f1018b825ddfca.png

    解决办法

    一般来说,都是依赖的外部包,所以正常情况下都是选择直接覆盖(Discard changes)。有如下两种处理方式。方式1: 全局设置 discard-changes true...

    立即注册
    更新于:2023-11-27 22:18:19
    相关内容

    PHP7.2以上版本的安装问题

    推荐内容

    分享几个好用的bt搜索bt资源下载网址网站

    影视电影剧集动漫综艺bt资源在线播放网址网站推荐分享

    全网最新bt磁力搜索引擎bt资源bt网站网址分享

    人气美女女优百度指数排行榜(波多野结衣,苍井空,三上悠亚,深田咏美,桥本有菜,北条...

    最强人造人深田咏美,业界的社交女王

    人生起起落落的三上悠亚,成名前的清纯风,怎么搭配出来的?

    业内第一大长腿,桥本有菜的腿究竟有多长

    波多野结衣,岛国业界著作最多的超级劳模

    日本AV界NO.1,苍井空是多少宅男的疯狂?

    美女女优视频混剪 This Girl-Laza Morgan

    怎样使用V2Ray代理和SSTap玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩...

    sstap游戏代理教程 从此玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩虹六...

    影视电影剧集动漫综艺bt资源在线播放网址网站推荐分享