蘋果mac系統來安裝composer

字號+ 編輯: 种花家 修訂: 种花家 來源: 简书 2023-09-20 我要說兩句(0)

composer是php常用的外部庫引入工具, 本文介紹mac系統下composer的安裝和使用方法

Composer 是 PHP5.3以上 的一個依賴管理工具。你可以在自己的項目中聲明所依賴的外部工具庫(libraries),Composer 會安裝這些依賴的庫文档。它僅僅是一個依賴關係的管理,如同在iOS開發中Swift 和 Objective-C工程中使用的CocoaPods一樣。

安裝composer

安裝前需確保系統PHP版本在5.3以上,在終耑中執行以下命令下載Composer可執行文档:

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

此操作會下載最新版本到當前的工作目錄中。然後在當前路徑下就可以操作了,如查看Composer版本:

php composer.phar --version

Composer version 1.4.2 2017-05-17 08:17:52

如果下載失敗也不用糾結了,直接去手動下載合適的版本https://getcomposer.org/download/,結果的一樣的。

這應該算是局部安裝了,當跳出當前目錄還是無法正常使用,這肯定不是我們所期望的。如果要想全局生效需把composer.phar移到系統/usr/local/bin/目錄下:

mv composer.phar /usr/local/bin/composer

然後在全部就可以使用composer,再也不用每次都輸入長長的php composer.phar了。

至此算是安裝完畢。

版本更新

如果有則更新到最新版本

composer selfupdate

更新完後會提示Use composer self-update --rollback to return to version 1.4.1可以回退到上一版本。

使用composer

在我們的項目目錄下創建文档composer.json添加所需要的依賴庫的信息,例如需要"monolog/monolog","phpmailer/phpmailer"這兩個庫,json格式如下:

{
    "require": {
        "monolog/monolog": "1.0.*",
        "phpmailer/phpmailer": "~5.2"
    }
}

然後在終耑執行:

composer install

composer根據json配置開始下載所依賴的庫文档,安裝完畢後(若無)會生成一個composer.lock文档,如果你熟悉cocoapods的話應該知道也有個文档Podfile.lock。

composer.lock作用鎖定當前的配置文档,如果已存在,在下次執行install操作時會自動讀取composer.lock中的信息,即使你已經修該了composer.json文档此時也不會生效。

composer update

此操作會直接從composer.json文档讀取信息,下載庫文档,然後同步更新composer.lock。此時這個操作可以看作先刪除composer.lock文档,然後在執行install命令操作。

composer update monolog/monolog

指定某一個庫的更新,其他的沒有影響。

以上爲compose的簡單使用,有了它再使用第三方庫操作起來是不是感覺很簡單、很方便。

關於composer.json文档

以上我們使用的.json文档就一個require屬性,其實composer還支持其他很多屬性供我們添加一些其他配置信息。部分屬性如下:

name
description
versiontypekeywords
homepage
time
license
authors...

具體屬性代表的意義及支持的全部屬性參看https://getcomposer.org/doc/04-schema.md

一般情況下我們的項目工程中一個require屬性就可以了,這裡這個composer.json文档爲了便於區分暫且稱之爲A.json。當我們下載了其他第三方庫時可發現其目錄下也有個composer.json(稱之爲B.json)或composer.lock。
B.json以monolog/monolog爲例composer.json文档配置如下:

{
 "name": "monolog/monolog",
 "description": "Logging for PHP 5.3",
 "keywords": ["log","logging"],
 "homepage": "http://github.com/Seldaek/monolog",
 "type": "library",
 "license": "MIT",
 "authors": [
 {
  "name": "Jordi Boggiano",
  "email": "j.boggiano@seld.be",
  "homepage": "http://seld.be"
 }
 ],
 "require": {
 "php": ">=5.3.0"
 },
 "autoload": {
 "psr-0": {"Monolog": "src/"}
 }}

這兩個json文档肯定是不同的,在我們執行操作的時候都是用的A.json。B.json 屬於第三方庫本身的配置文档,和項目的配置依賴沒有關係,B.json在我們要制作自己的庫文档然後發布供別人下載使用時是必須的,通過它別人才能找到我們發布的庫,這裡暫且不談。只需要記住只有根目錄下的composer.json才是真正的項目依賴配置文档。

關於鏡像

Composer在安裝或更新的時候可能會出現失敗或無法訪問的情況,這是由於訪問的外部網路可能被牆了。所以爲Composer配置了一個國内提供的鏡像,終耑中執行:

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

以後每次的下載或更新都是訪問的國内服務器了,具體Packagist/Composer鏡像參看phpcomposer

https://getcomposer.org/


閲完此文,您的感想如何?
  • 有用

    1

  • 沒用

    0

  • 開心

    0

  • 憤怒

    0

  • 可憐

    0

1.如文章侵犯了您的版權,請發郵件通知本站,該文章將在24小時内刪除;
2.本站標注原創的文章,轉發時煩請注明來源;
3.交流群: 2702237 13835667

相關課文
  • mac開發接入微信公衆號接口返回報錯 cURL error 56: SSLRead() return error -9806

  • PHP的換行符是什麽

  • pecl安裝程序時報錯Array and string offset access syntax with curly braces is no longer supported

  • 由於商家傳入的H5交易參數有誤,該筆交易暫時無法完成,請聯繫商家解決

我要說說
網上賓友點評