• Composer安装和使用


    Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管理器。是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。

    对于使用者来说Composer非常的简单,通过简单的一条命令将需要的代码包下载到vendor目录下,然后开发者就可以引入包并使用了.

    其中的关键在于你项目定义的composer.json,可以定义项目需要依赖的包(可能有多个),而依赖的包可能又依赖其他的包(这就是组件的好处),这些都不用你烦心,Composer会自动下载你需要的一切,一切在于composer.json的定义.

    1、Composer的安装

    方法一:下载并且运行 Composer-Setup.exe,它将安装最新版本的 Composer ,并设置好系统的环境变量,因此你可以在任何目录下直接使用 composer 命令(这是将 Composer 安装在你机器上的最简单的方法,推荐使用。)

    一直点下一步就安装成功了,这里的路径是自动加上的,如果没有就手动加上(注:运行 Composer 需要 PHP 5.3.2+ 以上版本)

    完成以后,输入"composer -V",显示以下画面说明安装成功

    方法二:下载composer.phar放在php目录中直接使用(优点:单一快捷使用composer)

    如果您希望手动下载phar,则可以使用以下版本:

     我下载的是1.8.0版,在它所在目录直接运行就可以

    2、使用Composer下载thinkphp

    第一步:首先要把仓库镜像修改成国内的,不然下载很慢

    全局配置(推荐)

    所有项目都会使用该镜像地址:

    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 config --unset repos.packagist

    使用composer config -g -l查看配置,结果如下,它已经改了镜像地址

    第二步:下载think

    打开Packagist搜索think

    运行这行代码,它就会自动下载think,注:如果不写上ThinkPHP版本,它会下载最新版(tp6)

     

    下面指定下载tp5.1的最新版本(指定版本5.1.*,指定目录名称tp5.1)

    composer create-project topthink/think tp5.1 5.1.*

     

     3安装依赖包

    方法一:使用composer.phar安装

    要开始在你的项目中使用 Composer,你只需要一个 composer.json 文件。该文件包含了项目的依赖和其它的一些元数据。

    第一件事情(并且往往只需要做这一件事),你需要在 composer.json 文件中指定 require key 的值。你只需要简单的告诉 Composer 你的项目需要依赖哪些包。

    {
        "require": {
            "monolog/monolog": "^2.0"
        }
    }

    你可以看到, require 需要一个 包名称 (例如 monolog/monolog) 映射到 包版本 (例如 ^.2.0) 的对象。

    编写完composer.json(必须),加上composer.phar

     获取定义的依赖到你的本地项目,只需要调用 composer.phar 运行 install 命令。

    php composer.phar install

    接着前面的例子,这将会找到 monolog/monolog 的最新版本,并将它下载到 vendor 目录。 这是一个惯例把第三方的代码到一个指定的目录 vendor。如果是 monolog 将会创建 vendor/monolog/monolog 目录。

    如果你不想使用composer.phar,在项目加上composer.json(必须),在所在项目运行以下代码:

    composer install

     

    方法二:Packagist搜索monolog,直接在网站根目录运行composer require monolog/monolog(无需composer.json和composer.phar,会自动创建json文件

    包版本

    在前面的例子中,我们引入的 monolog 版本指定为 ^2.0。这表示任何从 2.0 开始的开发分支,它将会匹配2.0.0或者2.0.1

    版本约束可以用几个不同的方法来指定。

     

    总结

    1、composer.json
    composer.json文件中保存的是我们安装的组件及组件的版本要求。

    2、comopser.lock
    composer.lock文件中保存的是组件及其依赖的具体版本,在多人协同开发的情况下,这个文件能很好的解决组件不同而产生的问题。在使用composer install的时候是不会修改composer.lock这个文件,所以会把这个文件也放入版本管理中,其它人在使用时只需要composer install就可以了。而使用composer update后修改这个文件。

    综上所述:
    composer.lock这个文件主要是解决在协同开发中组件及其依赖的版本记录,防止不同人使用的组件及依赖版本不同。

  • 相关阅读:
    java.lang.AbstractMethodError: Method com/mchange/v2/c3p0/impl/NewProxyPreparedStatement.isClosed()Z is abstract
    Spring MVC controller控制器映射无法访问问题!!!
    关于 use-default-filters 属性的说明
    Spring MVC工程 无法拦截到url请求
    Caused by: java.lang.ClassNotFoundException: org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter
    Spring事务
    MySQL几个join
    解决CentOS7关闭/开启防火墙出现Unit iptables.service failed to load: No such file or directory.
    【Mybatis架构】Mapper映射文件中的#{}与${}
    空指针异常(从辅助类获取对象之后需要实例化才能保存信息)
  • 原文地址:https://www.cnblogs.com/bushui/p/11863346.html
Copyright © 2020-2023  润新知