composer常用命令

一. selfupdate

更新 composer 本身,请经常执行 composer selfupdate 以保持 Composer 一直是最新版本。

composer selfupdate 等价于 composer self-update

 

二. composer init

根据设置生成一个特定的composer.json文件,设置如下

root@dduan:/home/dduan/test_composer# php composer.phar init
Do not run Composer as root/super user! See https://getcomposer.org/root for details

  Welcome to the Composer config generator
  
This command will guide you through creating your composer.json config.

# 1. 输入项目命名空间
# 注意<vendor>/<name> 必须要符合 [a-z0-9_.-]+/[a-z0-9_.-]+
Package name (<vendor>/<name>) [root/test_composer]:yourname/projectname

# 2. 项目描述
Description []:这是一个测试composer init 项目

# 3. 输入作者信息,直接回车可能出现如下提示,有的系统可以直接回车,具体为什么?这里不详细介绍
 Invalid author string.  Must be in the format: John Smith <john@example.com>
# 3.1. 注意必须要符合 John Smith <john@example.com>
Author [, n to skip]: John Smith <john@example.com>

# 4. 输入最低稳定版本,stable, RC, beta, alpha, dev
Minimum Stability []:dev

# 5. 输入项目类型
Package Type (e.g. library, project, metapackage, composer-plugin) []:library

# 6. 输入授权类型
License []:

Define your dependencies.

# 7. 输入依赖信息
Would you like to define your dependencies (require) interactively [yes]?

# 7.1. 如果需要依赖,则输入要安装的依赖
Search for a package:php

# 7.2. 输入版本号
Enter the version constraint to require (or leave blank to use the latest version): >=5.4.0

#  如需多个依赖,则重复以上两个步骤(7.1/7.2)
Search for a package:

# 8. 是否需要require-dev,
Would you like to define your dev dependencies (require-dev) interactively [yes]?


{
    "name": "dduan/test_compser",
    "description": "这是一个测试composer init 项目",
    "type": "library",
    "require": {
        "php": ">=5.4.0"
    },
    "authors": [
        {
            "name": "John Smith",
            "email": "john@example.com"
        }
    ],
    "minimum-stability": "dev"
}
# 9. 是否生成composer.json
Do you confirm generation [yes]?

# 现在安装依赖项吗
Would you like to install dependencies now [yes]?

 

三. composer update 与composer install的区别

安装 install
composer install是从composer.lock读取第三方组件及其版本,并将其安装到vendor目录下。
如果composer.lock文件不存在,则读取composer.json第三方组件及其版本,然后安装到vendor目录下。

更新 update
update是直接从composer.json获取第三方组件及其版本,然后更新composer.lock文件。
如果依赖的第三方组件有版本更新,update会将最新的版本安装到vendor目录下,并更新composer.lock。

使用经验
在生产环境下,直接使用composer update命令是有较大风险的,因为可能存在测试阶段使用了版本的第三方组件库,在上线打包的时候执行了composer update命令,导致第三方组件更新未经测试直接发布的问题出现。
比较推荐的做法是在版本管理过程中,将composer.json和composer.lock都加入到版本管理中,在开发过程中注意composer.lock中依赖版本的变化,每次上线打包使用composer install,从composer.lock中获取依赖的第三方组件和版本。
如果需要更新第三方组件,执行composer update命令时,应该在后面追加有必要更新的组件库。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值