composer中一些指令\參數\說明

藏色散人
發布: 2020-12-11 15:51:21
轉載
2560 人瀏覽過

下面由composer教學專欄帶大家介紹composer常用的一些指令\參數\說明,希望對需要的朋友有幫助!

安裝

curl -sS https://getcomposer.org/installer | php
登入後複製


php -r "readfile('https://getcomposer.org/installer');" | php
登入後複製

全域安裝

mv composer.phar /usr/local/bin/composer
登入後複製

安裝中國鏡像

composer config -g repo.packagist composer https://packagist.phpcomposer.com
登入後複製

忽略版本匹配

composer install/update --ignore-platform-reqs

安裝外掛程式套件?

composer global require "fxp/composer-asset-plugin:1.2.0“
登入後複製

建立專案 create-project

你可以使用 Composer 從現有的套件中建立一個新的專案。這相當於執行了一個 git clone 或 svn checkout 指令後將這個包的依賴安裝到它自己的 vendor 目錄。

此指令有幾個常見的用途:

  1. 你可以快速的部署你的應用程式。
  2. 你可以檢出任何資源包,並開發它的補丁。
  3. 多人開發項目,可以用它來加快應用的初始化。

要建立基於 Composer 的新項目,你可以使用 "create-project" 指令。傳遞一個包名,它會為你建立專案的目錄。你也可以在第三個參數中指定版本號,否則將會取得最新的版本。

如果目錄目前不存在,則會在安裝過程中自動建立。

php composer.phar create-project doctrine/orm path 2.2.*
登入後複製

此外,你也可以不用使用這個指令,而是透過現有的 composer.json 檔案來啟動這個專案。

預設情況下,這個指令會在 packagist.org 上找你指定的套件。

建立項目-參數

  • --repository-url: 提供一個自訂的儲存庫來搜尋套件,這將用來取代 packagist.org。可以是指向 composer 資源庫的 HTTP URL,或是指向某個 packages.json 檔案的本機路徑。
  • --stability (-s): 資源包的最低穩定版本,預設為 stable
  • --prefer-source: 當有可用的套件時,從 source 安裝。
  • --prefer-dist: 當有可用的套件時,從 dist 安裝。
  • --dev: 安裝 require-dev 欄位中列出的套件。
  • --no-install: 禁止安裝套件的依賴。
  • --no-plugins: 停用 plugins。
  • --no-scripts: 禁止在根資源包中定義的腳本執行。
  • --no-progress: 移除進度訊息,這可以避免一些不處理換行的終端或腳本出現混亂的顯示。
  • --keep-vcs: 建立時跳過缺少的 VCS 。如果你在非互動模式下執行創建命令,這將是非常有用的。

自我更新 self-update

#將 Composer 自身升級到最新版本,只需要執行 self-update 指令。它將替換你的 composer.phar 檔案到最新版本。

php composer.phar self-update
登入後複製

如果你想要升級到一個特定的版本,可以這樣簡單的指定它:

php composer.phar self-update 1.0.0-alpha7
登入後複製

如果你已經為整個系統安裝Composer(參見 全域安裝),你可能需要在root 權限下執行它:

sudo composer self-update
登入後複製

自我更新-參數

  • #--rollback (-r): 回滾到你已經安裝的最後一個版本。
  • --clean-backups: 在更新過程中刪除舊的備份,這使得更新後的目前版本是唯一可用的備份。

搜尋 search

search 指令允許你為目前專案搜尋依賴包,通常它只搜尋packagist.org 上的包,你可以簡單的輸入你的搜尋條件。

php composer.phar search monolog
登入後複製

您也可以透過傳遞多個參數來進行多條件搜尋。

搜尋-參數

  • --only-name (-N): 只針對指定的名稱搜尋(完全符合)。

申明依賴 require

#require 指令增加新的依賴套件到目前目錄的 composer.json文件中。

php composer.phar require
登入後複製

在新增或改變依賴時, 修改後的依賴關係將會安裝或更新。

如果你不希望透過互動來指定依賴包,你可以在這條令中直接指明依賴包。

php composer.phar require vendor/package:2.* vendor/package2:dev-master
登入後複製

申明依賴-參數

  • --prefer-source: 當有可用的套件時,請從 source 安裝。
  • --prefer-dist: 當有可用的套件時,從 dist 安裝。
  • --dev: 安裝 require-dev 欄位中列出的套件。
  • --no-update: 停用依賴關係的自動更新。
  • --no-progress: 移除進度訊息,這可以避免一些不處理換行的終端或腳本出現混亂的顯示。
  • --update-with-dependencies 一併更新新裝包的依賴。

更新 update

為了取得依賴的最新版本,並且升級 composer.lock 文件,你應該使用 update  指令。

php composer.phar update
登入後複製

这将解决项目的所有依赖,并将确切的版本号写入 composer.lock

如果你只是想更新几个包,你可以像这样分别列出它们:

php composer.phar update vendor/package vendor/package2
登入後複製

你还可以使用通配符进行批量更新:

php composer.phar update vendor/*
登入後複製

更新-参数

  • --prefer-source: 当有可用的包时,从 source 安装。
  • --prefer-dist: 当有可用的包时,从 dist 安装。
  • --dry-run: 模拟命令,并没有做实际的操作。
  • --dev: 安装 require-dev 字段中列出的包(这是一个默认值)。
  • --no-dev: 跳过 require-dev 字段中列出的包。
  • --no-scripts: 跳过 composer.json 文件中定义的脚本。
  • --no-plugins: 关闭 plugins。
  • --no-progress: 移除进度信息,这可以避免一些不处理换行的终端或脚本出现混乱的显示。
  • --optimize-autoloader (-o): 转换 PSR-0/4 autoloading 到 classmap 可以获得更快的加载支持。特别是在生产环境下建议这么做,但由于运行需要一些时间,因此并没有作为默认值。
  • --lock: 仅更新 lock 文件的 hash,取消有关 lock 文件过时的警告。
  • --with-dependencies 同时更新白名单内包的依赖关系,这将进行递归更新。

安装 install

install 命令从当前目录读取 composer.json 文件,处理了依赖关系,并把其安装到 vendor 目录下。

php composer.phar install
登入後複製

如果当前目录下存在 composer.lock 文件,它会从此文件读取依赖版本,而不是根据 composer.json 文件去获取依赖。这确保了该库的每个使用者都能得到相同的依赖版本。

如果没有 composer.lock 文件,composer 将在处理完依赖关系后创建它。

安装-参数

  • --prefer-source: 下载包的方式有两种: source 和 dist。对于稳定版本 composer 将默认使用 dist 方式。而 source 表示版本控制源 。如果 --prefer-source 是被启用的,composer 将从 source 安装(如果有的话)。如果想要使用一个 bugfix 到你的项目,这是非常有用的。并且可以直接从本地的版本库直接获取依赖关系。
  • --prefer-dist: 与 --prefer-source 相反,composer 将尽可能的从 dist 获取,这将大幅度的加快在 build servers 上的安装。这也是一个回避 git 问题的途径,如果你不清楚如何正确的设置。
  • --dry-run: 如果你只是想演示而并非实际安装一个包,你可以运行 --dry-run 命令,它将模拟安装并显示将会发生什么。
  • --dev: 安装 require-dev 字段中列出的包(这是一个默认值)。
  • --no-dev: 跳过 require-dev 字段中列出的包。
  • --no-scripts: 跳过 composer.json 文件中定义的脚本。
  • --no-plugins: 关闭 plugins。
  • --no-progress: 移除进度信息,这可以避免一些不处理换行的终端或脚本出现混乱的显示。
  • --optimize-autoloader (-o): 转换 PSR-0/4 autoloading 到 classmap 可以获得更快的加载支持。特别是在生产环境下建议这么做,但由于运行需要一些时间,因此并没有作为默认值。

以上是composer中一些指令\參數\說明的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:cnblogs.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!