zoukankan      html  css  js  c++  java
  • composer的应用与Packagist 镜像使用方法

    安装

    安装 Composer,你只需要下载 composer.phar 可执行文件。

    curl -sS https://getcomposer.org/installer | php
    

    详细请查看 简介 章节。

    要检查 Composer 是否正常工作,只需要通过 php 来执行 PHAR:

    php composer.phar
    

    这将返回给你一个可执行的命令列表。

    注意: 你也可以仅执行 --check 选项而无需下载 Composer。 要获取更多的信息请使用 --help

    curl -sS https://getcomposer.org/installer | php -- --help
    

    composer.json:项目安装

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

    这个 JSON format 是很容易编写的。它允许你定义嵌套结构。

    关于 require Key

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

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

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

    包名称

    包名称由供应商名称和其项目名称构成。通常容易产生相同的项目名称,而供应商名称的存在则很好的解决了命名冲突的问题。它允许两个不同的人创建同样名为 json 的库,而之后它们将被命名为 igorw/json 和 seldaek/json

    这里我们需要引入 monolog/monolog,供应商名称与项目的名称相同,对于一个具有唯一名称的项目,我们推荐这么做。它还允许以后在同一个命名空间添加更多的相关项目。如果你维护着一个库,这将使你可以很容易的把它分离成更小的部分。

    Packagist 镜像使用方法

    还没安装 Composer 吗?请往下看如何安装 Composer 。

    镜像用法

    有两种方式启用本镜像服务:

    • 系统全局配置: 即将配置信息添加到 Composer 的全局配置文件 config.json 中。见“方法一”
    • 单个项目配置: 将配置信息添加到某个项目的 composer.json 文件中。见“方法二”

    方法一: 修改 composer 的全局配置文件(推荐方式)

    打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:

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

    方法二: 修改当前项目的 composer.json 配置文件:

    打开命令行窗口(windows用户)或控制台(Linux、Mac 用户),进入你的项目的根目录(也就是 composer.json 文件所在目录),执行如下命令:

    复制
    composer config repo.packagist composer https://packagist.phpcomposer.com
    

    上述命令将会在当前项目中的 composer.json 文件的末尾自动添加镜像的配置信息(你也可以自己手工添加):

    复制
    "repositories": {
        "packagist": {
            "type": "composer",
            "url": "https://packagist.phpcomposer.com"
        }
    }
    

    以 laravel 项目的 composer.json 配置文件为例,执行上述命令后如下所示(注意最后几行):

    复制
    {
        "name": "laravel/laravel",
        "description": "The Laravel Framework.",
        "keywords": ["framework", "laravel"],
        "license": "MIT",
        "type": "project",
        "require": {
            "php": ">=5.5.9",
            "laravel/framework": "5.2.*"
        },
        "config": {
            "preferred-install": "dist"
        },
        "repositories": {
            "packagist": {
                "type": "composer",
                "url": "https://packagist.phpcomposer.com"
            }
        }
    }
    

    OK,一切搞定!试一下 composer install 来体验飞一般的速度吧!

    镜像原理:

    一般情况下,安装包的数据(主要是 zip 文件)一般是从 github.com 上下载的,安装包的元数据是从 packagist.org 上下载的。

    然而,由于众所周知的原因,国外的网站连接速度很慢,并且随时可能被“墙”甚至“不存在”。

    “Packagist 中国全量镜像”所做的就是缓存所有安装包和元数据到国内的机房并通过国内的 CDN 进行加速,这样就不必再去向国外的网站发起请求,从而达到加速 composer install以及 composer update 的过程,并且更加快速、稳定。因此,即使 packagist.orggithub.com 发生故障(主要是连接速度太慢和被墙),你仍然可以下载、更新安装包。

    闲静少言,不求达内。乐于技,喜刨根,不求甚解;每有会意,其乐无穷。
  • 相关阅读:
    Balanced Binary Tree
    Convert Sorted List to Binary Search Tree
    Convert Sorted Array to Binary Search Tree
    Binary Tree Zigzag Level Order Traversal
    Validate Binary Search Tree
    Binary Tree Level Order Traversal II
    Binary Tree Level Order Traversal
    Maximum Depth of Binary Tree
    如何把U盘的两个盘或者多个盘合成一个
    bugku 想蹭网先解开密码
  • 原文地址:https://www.cnblogs.com/hypnot/p/7944805.html
Copyright © 2011-2022 走看看