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 <[email protected]>
# 3.1. 注意必須要符合 John Smith <[email protected]>
Author [, n to skip]: John Smith <[email protected]>

# 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": "[email protected]"
        }
    ],
    "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命令時,應該在後面追加有必要更新的組件庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章