真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Debian11中怎么安裝使用Composer

這篇文章主要介紹“Debian11中怎么安裝使用Composer”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強(qiáng),希望這篇“Debian11中怎么安裝使用Composer”文章能幫助大家解決問題。

10年積累的網(wǎng)站制作、成都做網(wǎng)站經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有龍井免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

Composer是一個流行的PHP依賴性管理工具,主要是為了方便項目依賴性的安裝和更新。Composer的工作原理是檢查一個特定項目所依賴的其他軟件包,然后根據(jù)項目要求使用適當(dāng)?shù)陌姹緸槟惆惭b它們。Composer也常用于引導(dǎo)基于流行的PHP框架的新項目,如Symfony和Laravel。

前提條件

要學(xué)習(xí)本教程,你需要設(shè)置一臺 Debian 11 服務(wù)器,包括一個非根用戶sudo 并啟用防火墻。你可以按照我們的Debian 11 初始服務(wù)器設(shè)置指南來做。

第一步 - 安裝依賴項

除了可能已經(jīng)包含在您的 Debian 11 系統(tǒng)中的依賴項之外,Composer 需要php-cli 來在命令行中執(zhí)行 PHP 腳本,以及unzip 來提取壓縮文件。

首先要更新軟件包管理器的緩存。

sudo apt update

接下來,安裝依賴項。你將需要curl 來下載Composer,需要php-cli 來安裝和運行它。php-mbstring 包是必要的,它為你在本教程中要使用的一個庫提供功能。git 被Composer用來下載項目依賴,而unzip 是用來提取壓縮包的。所有東西都可以用下面的命令來安裝。

sudo apt install curl php-cli php-mbstring git unzip

安裝好所有的依賴項后,現(xiàn)在你可以安裝Composer了。

第二步 - 下載和安裝Composer

Composer提供了一個用PHP編寫的安裝程序。你將下載它,確認(rèn)它沒有損壞,然后用它來安裝Composer。

首先,確保你在你的主目錄中。

cd ~

然后,使用curl 檢索安裝程序。

curl -sS https://getcomposer.org/installer -o composer-setup.php

接下來,驗證安裝程序是否與Composer公鑰/簽名頁面上的最新安裝程序的SHA-384哈希值一致。為了方便驗證步驟,你可以使用下面的命令,以編程方式從composer頁面獲取最新的哈希值,并將其存儲在一個shell變量中。

HASH=`curl -sS https://composer.github.io/installer.sig`

要輸出獲得的值,請運行。

echo $HASH
Output55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae

現(xiàn)在執(zhí)行以下PHP代碼,如Composer下載頁面中提供的,以驗證安裝腳本是否可以安全運行。

php -r "if 
(hash_file('SHA384', 'composer-setup.php') === '$HASH') { 
echo 'Installer verified'; 
} 
else { echo 'Installer corrupt'; unlink('composer-setup.php'); 
} 
echo PHP_EOL;"

你的輸出將是以下內(nèi)容。

OutputInstaller verified

如果你收到的信息是Installer corrupt ,你需要再次下載安裝腳本并驗證你使用的是正確的哈希值。然后運行命令,再次驗證安裝程序。一旦你有一個經(jīng)過驗證的安裝程序,你就可以繼續(xù)了。

要在全局范圍內(nèi)安裝composer ,使用下面的命令下載并安裝Composer作為全系統(tǒng)的命令,命名為composer/usr/local/bin

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

你的輸出將是以下內(nèi)容。

OutputAll settings correct for using Composer
Downloading...

Composer (version 2.3.10) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

通過運行這個命令測試你的安裝。

composer

然后你的輸出將顯示Composer的版本和參數(shù),類似于下面的內(nèi)容。

Output  ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 2.3.10 2022-07-13 15:48:23Usage:
  command [options] [arguments]

Options:
  -h, --help                     Display help for the given command. When no command is given display help for the list command
  -q, --quiet                    Do not output any message
  -V, --version                  Display this application version
      --ansi|--no-ansi           Force (or disable --no-ansi) ANSI output
  -n, --no-interaction           Do not ask any interactive question
      --profile                  Display timing and memory usage information
      --no-plugins               Whether to disable plugins.
      --no-scripts               Skips the execution of all scripts defined in composer.json file.
  -d, --working-dir=WORKING-DIR  If specified, use the given directory as working directory.
      --no-cache                 Prevent use of the cache
  -v|vv|vvv, --verbose           Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug. . .

這就驗證了Composer已經(jīng)成功地安裝在你的系統(tǒng)上,并且在整個系統(tǒng)中是可用的。

**注意:**如果你喜歡為你在這臺服務(wù)器上托管的每個項目都有單獨的Composer可執(zhí)行文件,你可以以每個項目為基礎(chǔ)在本地安裝它。NPM的用戶將熟悉這種方法。當(dāng)你的系統(tǒng)用戶沒有權(quán)限在全系統(tǒng)安裝軟件時,這種方法也很有用。

要做到這一點,請使用命令php composer-setup.php 。這將在你的當(dāng)前目錄下生成一個composer.phar 文件,可以用 ./composer.phar command.

現(xiàn)在你已經(jīng)安裝了Composer,在下一步你將學(xué)習(xí)如何使用Composer來管理PHP的依賴性。

第3步 - 在PHP項目中使用Composer

PHP項目經(jīng)常依賴外部庫,而管理這些依賴關(guān)系和它們的版本可能很棘手。Composer通過跟蹤你的依賴關(guān)系并使其他人更容易安裝它們來解決這個問題。

為了在你的項目中使用Composer,你需要一個composer.json 文件。composer.json 文件告訴Composer它需要為你的項目下載的依賴項,以及允許安裝的每個包的版本。這對于保持你的項目的一致性和避免安裝不穩(wěn)定的版本而可能導(dǎo)致向后兼容性問題是非常重要的。

你不需要手動創(chuàng)建這個文件,因為這樣做很容易出錯,可能會導(dǎo)致語法錯誤。當(dāng)你使用composer require 命令向你的項目添加一個依賴關(guān)系時,Composer會自動生成composer.json 文件。你可以用同樣的方法添加額外的依賴關(guān)系,而不需要手動編輯這個文件。

使用Composer在項目中安裝一個包作為依賴的過程包括以下步驟。

  • 確定應(yīng)用程序需要什么樣的庫。

  • 在Packagist.org(Composer的官方軟件包庫)上研究一個合適的開源庫。

  • 選擇你想依賴的軟件包。

  • 運行composer require ,在composer.json 文件中包含該依賴性,并安裝該軟件包。

你可以用一個演示應(yīng)用程序來測試一下。

這個應(yīng)用程序的目標(biāo)是將一個給定的句子轉(zhuǎn)換成一個叫做slug的URL友好字符串。slug通常用于將頁面標(biāo)題轉(zhuǎn)換為URL路徑,例如本教程中URL的最后部分。

首先導(dǎo)航到你的主目錄。

cd ~

然后創(chuàng)建一個目錄。將其稱為slugify 。

mkdir slugify

創(chuàng)建完畢后,換到該目錄中。

cd slugify

現(xiàn)在是時候在Packagist.org上搜索一個可以幫助生成蛞蝓的軟件包。

列表中每個軟件包的右側(cè)會有兩個數(shù)字。箭頭朝下的圖標(biāo)旁邊的數(shù)字代表該軟件包被安裝了多少次,而帶星形圖標(biāo)的數(shù)字代表軟件包在GitHub上被加了多少次星。你還可以根據(jù)這些數(shù)字對搜索結(jié)果重新排序。一般來說,安裝次數(shù)多、星級多的軟件包往往更穩(wěn)定,因為有很多人在使用它們。檢查軟件包的描述是否相關(guān)也很重要,以確保它是你所需要的。

對于這個教程,你需要一個字符串到蛞蝓的轉(zhuǎn)換器。從搜索結(jié)果來看,軟件包cocur/slugify 是一個很好的匹配,有合理數(shù)量的安裝和星級。

Packagist上的軟件包有一個供應(yīng)商名稱和一個軟件包名稱。每個包都有一個唯一的標(biāo)識符(命名空間),其格式與GitHub用于其存儲庫的格式相同,即 vendor/package.你要安裝的庫使用命名空間cocur/slugify 。你需要這個命名空間,以便在你的項目中需要該包。

現(xiàn)在你知道了你要安裝的軟件包,運行composer require ,把它作為一個依賴項包括進(jìn)去,同時為項目生成composer.json 文件。

composer require cocur/slugify

當(dāng)Composer下載依賴關(guān)系時,你的輸出將返回如下。

OutputUsing version ^4.1 for cocur/slugify
./composer.json has been created
Running composer update cocur/slugify
Loading composer repositories with package information
Updating dependencies
Lock file operations: 1 install, 0 updates, 0 removals
  - Locking cocur/slugify (v4.1.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Downloading cocur/slugify (v4.1.0)
  - Installing cocur/slugify (v4.1.0): Extracting archive
Generating autoload files

正如這個輸出所表明的,Composer會自動決定使用哪個版本的軟件包。如果你現(xiàn)在檢查你的項目目錄,它將包含兩個新文件:composer.jsoncomposer.lock ,以及一個vendor 目錄。

ls -l
Outputtotal 12-rw-r--r-- 1 sammy sammy   59 Aug  2 22:19 composer.json-rw-r--r-- 1 sammy sammy 3462 Aug  2 22:19 composer.lockdrwxr-xr-x 4 sammy sammy 4096 Aug  2 22:19 vendor

composer.lock 文件是用來存儲每個已安裝軟件包的版本信息的。它也確保在別人克隆你的項目并安裝其依賴項時使用相同的版本。vendor 目錄是項目依賴項所在的地方。vendor 文件夾不需要提交到版本控制中,你只需要包括composer.jsoncomposer.lock 文件。

當(dāng)安裝一個已經(jīng)包含composer.json 文件的項目時,運行composer install ,以便下載項目的依賴項。

接下來,查看版本約束。如果你檢查你的composer.json 文件的內(nèi)容,你會有類似下面的內(nèi)容。

cat composer.json
Output{
    "require": {
        "cocur/slugify": "^4.1"
    }}

你可能會注意到在composer.json 的版本號之前有一個特殊的字符^ 。Composer支持幾種不同的約束和格式來定義所需的軟件包版本,以提供靈活性,同時也保持你的項目穩(wěn)定。自動生成的composer.json 文件所使用的圓點(^)運算符是推薦的運算符,以實現(xiàn)最大的互操作性,遵循語義版本學(xué)。在這種情況下,它將4.1定義為最小兼容版本,并允許更新到5.0以下的任何未來版本。

一般來說,你不需要在你的composer.json 文件中篡改版本約束。然而,有些情況可能需要你手動編輯約束。例如,當(dāng)你所需要的庫的一個主要新版本發(fā)布時,你想要升級,或者當(dāng)你想要使用的庫不遵循語義版本劃分時。

下面是一些例子,讓你更好地了解Composer版本約束的工作方式。

約束意義允許的版本示例
^1.0>= 1.0 < 2.01.0, 1.2.3, 1.9.9
^1.1.0>= 1.1.0 < 2.01.1.0, 1.5.6, 1.9.9
~1.0>= 1.0 < 2.0.01.0, 1.4.1, 1.9.9
~1.0.0>= 1.0.0 < 1.11.0.0, 1.0.4, 1.0.9
1.2.11.2.11.2.1
1.*>= 1.0 < 2.01.0.0, 1.4.5, 1.9.9
1.2.*>= 1.2 < 1.31.2.0, 1.2.3, 1.2.9

第四步 - 包括自動加載腳本

由于PHP本身不會自動加載類,Composer提供了一個自動加載腳本,你可以把它包含在你的項目中,讓自動加載發(fā)揮作用。這在處理你的依賴關(guān)系時很有幫助。

你唯一需要做的是在任何類實例化之前在你的PHP腳本中包含vendor/autoload.php 文件。這個文件在你添加第一個依賴項時由Composer自動生成。

你可以在你的應(yīng)用程序中測試它。創(chuàng)建該文件test.php ,并在你喜歡的文本編輯器中打開它。這里使用的是nano 。

nano test.php

添加以下代碼,引入vendor/autoload.php 文件,加載cocur/slugify 依賴關(guān)系,并創(chuàng)建一個slug。

test.php

slugify('Hello World, this is a long sentence and I need to make a slug from it!');

保存該文件并退出你的編輯器。如果你使用的是nano ,你可以按CTRL + X ,然后按YENTER 來完成。

現(xiàn)在運行該腳本。

php test.php

這將產(chǎn)生以下輸出。

Outputhello-world-this-is-a-long-sentence-and-i-need-to-make-a-slug-from-it

當(dāng)新版本出來時,依賴關(guān)系需要更新,所以你將在最后一步中學(xué)習(xí)如何處理這個問題。

第5步 - 更新項目的依賴關(guān)系

每當(dāng)你想把你的項目依賴關(guān)系更新到最新的版本時,運行update 命令。

composer update

這將檢查你在項目中作為需求添加的庫的較新版本。如果發(fā)現(xiàn)一個新的版本,并且它與composer.json 文件中定義的版本約束兼容,Composer將替換之前安裝的版本。composer.lock 文件將被更新以反映這些變化。

你也可以像下面這樣指定一個或多個特定的庫來更新它們。

composer update vendor/package vendor2/package2

請確保在你更新你的依賴關(guān)系后提交你的composer.jsoncomposer.lock 文件的變化,這樣無論誰在項目中工作,都可以訪問相同的軟件包版本。

關(guān)于“Debian11中怎么安裝使用Composer”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。


本文題目:Debian11中怎么安裝使用Composer
本文來源:http://weahome.cn/article/iggghe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部