composer安装

    • @[TOC](composer安装)
  • 前言
  • 一、composer 是什么?
  • 二、使用步骤
    • 1.window安装
    • 2.Linux 安装
    • 3.Mac OS 系统
  • 三、composer 的简单使用

前言

在github还没有兴起的年代,我们是需要到工具的官网下载代码,比如jquery。然后放到我们自己的项目目录里,再在我们的页面中使用。
但是…当一个网站依赖的包越来越多,
我们会发现这是一件非常麻烦的事情:
安装新包,代码目录管理等问题
升级依赖包,只能手动替换文件

安装过程发现某个包需要依赖于另一个包,那我们又要开始安装前面的包…
哪怕是每个开源包都有自己的官网,也还是需要用户去下载安装。
即使是有一个类似github的大仓库,可以存放所有的项目,实现一站下载。
但不同依赖包之间的关系也还是需要手动维持,包与包之间的关系有可能是相互依赖,也可能是冲突的。
比如A包需要的PHP版本是小于7的,而B包需要的PHP版本是大于等于7的,那么你安装下来就是有冲突的,可能你在使用之前都没有注意环境的要求,直到遇到各种坑….
于是就有依赖包管理工具的诞生了,如前端使用的npm,java使用的maven,安卓的Gradle等等。在PHP中我们使用的工具叫Composer。
当我们需要加载一个新包的时候,我们只需要一条命令,工具就会自动构建安装,并且在安装之前如果检测到环境或者需要依赖其他包,管理工具也会做出相应的处理,比如提示终止、自动安装依赖包。
当我们需要更新包的时候,我们也只需要一条命令,就可以实现工具包的升级,在这过程也依然会检测新版本包需要的环境和依赖等。
所以说,依赖包管理工具 为我们在管理依赖包的工作上带来了极大的便利。

一、composer 是什么?

Composer 是一个命令行工具,它的作用就是帮我们的项目管理所依赖的开发包,属于依赖包管理工具。

composer 是php 安装新包,代码目录管理

二、使用步骤

1.window安装

1.1下载链接composer.exe

1.2下载好之后直接下一步
需要注意的是你需要开启 openssl 配置,我们打开 php 目录下的 php.ini,将 extension=php_openssl.dll 前面的分号去掉就可以了。
小皮面板安装的环境,要注意自己使用的PHP版本

1.3安装成功后,我们可以通过命令窗口(cmd) 输入 composer --version 或者 composer -v 命令来查看是否安装成功:
1.4更换全局镜像 外网的镜像下载比较慢,可以跳过
接下来我们可以更改阿里云 Composer 全量镜像:

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

取消配置:

composer config -g --unset repos.packagist

单项目配置

仅修改当前工程配置,仅当前工程可使用该镜像地址:

composer config repo.packagist composer https://mirrors.aliyun.com/composer/

调试

composer -vvv require alibabacloud/sdk

遇到问题?

建议先将Composer版本升级到最新:

composer self-update

执行诊断命令:

composer diagnose

清除缓存:

composer clear

若项目之前已通过其他源安装,则需要更新 composer.lock 文件,执行命令:

composer update --lock

2.Linux 安装

Linux 平台可以使用以下命令来安装:

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

移动 composer.phar,这样 composer 就可以进行全局调用:

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

切换为国内镜像:

 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

更新 composer:

composer selfupdate

composer 安装遇到问题:

composer -v
Unknown command: composer

解决办法
1:php的链接在/usr/local/bin/php中
2:cp composer /usr/bin/composer,将composer从下载的地址复制到/usr/bin/composer中
我的理解是bin没有找到对应的 composer
usr/local/bin 下的软链没有指到对应的位置
lrwxrwxrwx 1 root root 22 9月 2 09:53 php -> /usr/local/php/bin/php
3.给 权限

chmod +x /usr/bin/composer

3.Mac OS 系统

Linux 平台可以使用以下命令来安装:

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
composer --version

切换为国内镜像:

 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

更新 composer:

 composer selfupdate

三、composer 的简单使用

1.Composer install 的使用
要使用 Composer,我们需要先在项目的目录下创建一个 composer.json 文件,文件描述了项目的依赖关系。

文件格式如下:

{"require": {"monolog/monolog": "1.2.*"}
}

以上文件说明我们需要下载从 1.2 开始的任何版本的 monolog。
接下来只要运行以下命令即可安装依赖包:

composer install

2. require 命令
除了使用 install 命令外,我们也可以使用 require 命令快速的安装一个依赖而不需要手动在 composer.json 里添加依赖信息:

composer require 项目名

Composer 会先找到合适的版本,然后更新composer.json文件,在 require 那添加 monolog/monolog 包的相关信息,再把相关的依赖下载下来进行安装,最后更新 composer.lock 文件并生成 php 的自动加载文件。

3.update 命令
update 命令用于更新项目里所有的包,或者指定的某些包:

更新所有依赖

 composer update

更新指定的包

composer update monolog/monolog

更新指定的多个包

 composer update monolog/monolog symfony/dependency-injection

还可以通过通配符匹配包

$ composer update monolog/monolog symfony/*

需要注意的时,包能升级的版本会受到版本约束的约束,包不会升级到超出约束的版本的范围。例如如果 composer.json 里包的版本约束为 ^1.10,而最新版本为 2.0。那么 update 命令是不能把包升级到 2.0 版本的,只能最高升级到 1.x 版本。关于版本约束请看后面的介绍。

4.remove 命令
remove 命令用于移除一个包及其依赖(在依赖没有被其他包使用的情况下),如果依赖被其他包使用,则无法移除:

composer remove 包名

5.search 命令
search 命令可以搜索包:

composer search 报名

该命令会输出包及其描述信息,如果只想输出包名可以使用 --only-name 参数:

composer search --only-name monolog

6.show 命令
show 命令可以列出当前项目使用到包的信息:

列出所有已经安装的包

composer show

#可以通过通配符进行筛选

composer show 包名/*

显示具体某个包的信息

composer show monolog/monolog

7.基本约束
7.1范围
通过使用比较操作符来指定包的范围。这些操作符包括:>,>=,<,<=,!=。

你可以定义多个范围,使用空格或者逗号 , 表示逻辑上的与,使用双竖线 || 表示逻辑上的或。其中与的优先级会大于或。 实例:

=1.0
=1.0 <2.0
=1.0 <1.1 || >=1.2
我们也可以通过使用连字符 - 来指定版本范围。

连字符的左边表明了 >= 的版本,如果右边的版本不是完整的版本号,则会被使用通配符进行补全。例如1.0 - 2.0等同于>=1.0.0 <2.1(2.0相当于2.0.*),而1.0.0 - 2.1.0则等同于>=1.0.0 <=2.1.0。

7.2通配符
可以使用通配符来设置版本。1.0.*相当于>=1.0 <1.1。

7.3波浪号 ~

我们先通过后面这个例子去解释
~1.2相当于>=1.2 <2.0.0,而~1.2.3相当于>=1.2.3 <1.3.01.2相当于>=1.2 <2.0.0,而~1.2.3相当于>=1.2.3 <1.3.0。
对于使用Semantic Versioning作为版本号标准的项目来说,这种版本约束方式很实用。
例如~1.2定义了最小的小版本号,然后你可以升级2.0以下的任何版本而不会出问题,因为按照Semantic Versioning的版本定义,小版本的升级不应该有兼容性的问题。简单来说,~定义了最小的版本,并且允许版本的最后一位版本号进行升级

7.4折音号 ^

^操作符的行为跟Semantic Versioning有比较大的关联,它允许升级版本到安全的版本。
例如,^1.2.3相当于>=1.2.3 <2.0.0,因为在2.0版本前的版本应该都没有兼容性的问题。
而对于1.0之前的版本,这种约束方式也考虑到了安全问题,例如^0.3会被当作>=0.3.0 <0.4.0对待。
例子:^1.2.3

版本稳定性
如果你没有显式的指定版本的稳定性,Composer会根据使用的操作符,默认在内部指定为-dev或者-stable。例如:

1.2 >1.2.0.0-stable
=1.2 >=1.2.0.0-dev

如果你想指定版本只要稳定版本,你可以在版本后面添加后缀-stable。
minimum-stability 配置项定义了包在选择版本时对稳定性的选择的默认行为。默认是stable。它的值如下(按照稳定性排序):dev,alpha,beta,RC和stable。除了修改这个配置去修改这个默认行为,我们还可以通过稳定性标识(例如@stable和@dev)来安装一个相比于默认配置不同稳定性的版本。例如:

{"require": {"monolog/monolog": "1.0.*@beta","acme/foo": "@dev"}
}

composer安装和常用操作相关推荐

  1. Git 安装及常用操作配置

    (一)Windows下Git的安装方法 (二)Git管理工具TortoiseGit的安装方法 (三)Git初始使用常用配置命令 C:\Users\Administrator\.gitconfig (一 ...

  2. SVN下载,安装,配置,常用操作 svn教程

    首先在百度搜索并下载 TortoiseSVN 推荐从官网下载,软件分为32位和64位版本,下载时请根据自己的系统位数进行下载: 安装过程: 1.下载软件后,双击程序进行安装,点击"Next& ...

  3. 【mongoDB基础篇①】安装与常用操作语句

    简述 mongoDB与redis同为noSql数据库,但是redis为kv数据库(key/value),而mongoDB为文档型数据库存储的是文档(Bson->json的二进制化).内部执行引擎 ...

  4. 5 ROS的安装与常用操作简介

    5.1 ROS是什么? ROS(Robot Operating System机器人操作系统)是面向机器人的开源的元操作系统(meta-operating system).它能够提供类似传统操作系统的诸 ...

  5. 开源测试框架-UI自动化测试工具Selenium的安装与常用操作-Java语言

    为什么选择Selenium作为测试工具: 开源免费 容易与单元测试框架结合 代码可自主掌握,对于搭建框架,平台等有不可替代的优势 ​ Selenium也是一个用于Web应用程序测试的工具,支持多平台, ...

  6. Slurm安装和常用操作

    源码安装 下载最新的slurm源码包 munge安装 #安装rpm-build软件,以提供rpmbuild命令 yum install rpm-build -y # 安装时提示缺一堆软件包,一一安装就 ...

  7. Ubuntu安装设置nginx和nohup常用操作

    nginx安装 Ubuntu直接从常规源中安装 apt-get install nginx 安装的目录 配置文件:/etc/nginx/ 主程序文件:/usr/sbin/nginx Web默认目录:/ ...

  8. 学习笔记Kafka(四)—— Kafka安装配置(3)—— Kafka多代理配置及常用操作

    一.环境准备 Centos7, 1 CPU , 2G Memory ,20G Disk , Virtual System Hosts : node110, node111 , node112 全部配置 ...

  9. 学习笔记Kafka(三)—— Kafka安装配置(2)—— Kafka单代理及常用操作

    一.Linux环境准备 Centos7, 1 CPU , 2G Memory ,20G Disk , Virtual System JDK Zookeeper 二.Kafka 安装 下载Kafka安装 ...

最新文章

  1. mysql中vlookup函数_wps表中vlookup函数使用方法将一表引到另一表
  2. 实验11.1 指针数组、指针与函数 6-5 查找子串
  3. linux网络编程之sockaddr_in和in_addr区别
  4. 计算机小故障排除方法,常见电脑故障排除方法总汇【详解】
  5. Linux网络协议栈:网卡收包分析
  6. linux学习: sudo命令(ubuntu)
  7. Form窗体点击关闭按钮并未关闭进程的解决方法
  8. mysql8 连接不上数据库_MySQL升级8.0后连接不上数据库
  9. iOS的非常全的三方库,插件,大牛博客
  10. mac空格代表图标_最糟糕的图标代表功能
  11. 计算机桌面计划,电脑桌面日程安排软件
  12. 中产需要盒马,盒马想要下沉
  13. lambda函数用法及注意事项(简单总结,有待补充)
  14. SAP BDC的应用
  15. idea 配置 tomcat session 无法活化
  16. 无法通过终端(远程桌面)服务启动MATLAB的解决办法
  17. 对P5基本二维图像绘制库的交互性扩展
  18. 外箱条码标签如何用条码标签编辑软件制作?
  19. 对use case的一点理解
  20. mac系统python读取文件路径_python读取文件常见问题(Mac版)

热门文章

  1. nvidia控制面板可以卸载吗?
  2. PPT“放映模式”的两种设置方法
  3. 主流六大搜索引擎提交sitemap大全(网站地图)
  4. 小程序 炫酷的海报进入首页
  5. codeforces-1131D Gourmet choice(拓扑排序)
  6. 顺序查找法岗哨问题!
  7. 全球及中国机械设备行业运行态势与市场规模分析报告2022版
  8. 安卓炫酷的抽屉菜单——JPSpringMenu
  9. 解决api-ms-win-crt-locale-l1-1-0.dll丢失问题
  10. 小工具: 听例句背单词