中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Debian11中怎么安裝使用Composer

發布時間:2022-11-08 17:17:22 來源:億速云 閱讀:224 作者:iii 欄目:軟件技術

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

Composer是一個流行的PHP依賴性管理工具,主要是為了方便項目依賴性的安裝和更新。Composer的工作原理是檢查一個特定項目所依賴的其他軟件包,然后根據項目要求使用適當的版本為你安裝它們。Composer也常用于引導基于流行的PHP框架的新項目,如Symfony和Laravel。

前提條件

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

第一步 - 安裝依賴項

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

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

sudo apt update

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

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

安裝好所有的依賴項后,現在你可以安裝Composer了。

第二步 - 下載和安裝Composer

Composer提供了一個用PHP編寫的安裝程序。你將下載它,確認它沒有損壞,然后用它來安裝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

現在執行以下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;"

你的輸出將是以下內容。

OutputInstaller verified

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

要在全局范圍內安裝composer ,使用下面的命令下載并安裝Composer作為全系統的命令,命名為composer/usr/local/bin

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

你的輸出將是以下內容。

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的版本和參數,類似于下面的內容。

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已經成功地安裝在你的系統上,并且在整個系統中是可用的。

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

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

現在你已經安裝了Composer,在下一步你將學習如何使用Composer來管理PHP的依賴性。

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

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

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

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

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

  • 確定應用程序需要什么樣的庫。

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

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

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

你可以用一個演示應用程序來測試一下。

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

首先導航到你的主目錄。

cd ~

然后創建一個目錄。將其稱為slugify

mkdir slugify

創建完畢后,換到該目錄中。

cd slugify

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

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

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

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

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

composer require cocur/slugify

當Composer下載依賴關系時,你的輸出將返回如下。

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會自動決定使用哪個版本的軟件包。如果你現在檢查你的項目目錄,它將包含兩個新文件: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 文件。

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

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

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

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

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

下面是一些例子,讓你更好地了解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提供了一個自動加載腳本,你可以把它包含在你的項目中,讓自動加載發揮作用。這在處理你的依賴關系時很有幫助。

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

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

nano test.php

添加以下代碼,引入vendor/autoload.php 文件,加載cocur/slugify 依賴關系,并創建一個slug。

test.php

<?php
require __DIR__ . '/vendor/autoload.php'; 
use Cocur\Slugify\Slugify;$slugify = new Slugify();echo $slugify->slugify('Hello World, this is a long sentence and I need to make a slug from it!');

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

現在運行該腳本。

php test.php

這將產生以下輸出。

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

當新版本出來時,依賴關系需要更新,所以你將在最后一步中學習如何處理這個問題。

第5步 - 更新項目的依賴關系

每當你想把你的項目依賴關系更新到最新的版本時,運行update 命令。

composer update

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

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

composer update vendor/package vendor2/package2

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

關于“Debian11中怎么安裝使用Composer”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

和田县| 玉林市| 贞丰县| 星子县| 鹿邑县| 枞阳县| 琼结县| 盘锦市| 安顺市| 大丰市| 新津县| 中西区| 静乐县| 无锡市| 翁源县| 开江县| 离岛区| 灵台县| 巴林右旗| 桐乡市| 遂昌县| 衡东县| 饶平县| 梓潼县| 北海市| 黑龙江省| 海林市| 鞍山市| 康乐县| 册亨县| 巴彦县| 黄龙县| 濮阳县| 迁安市| 德江县| 万荣县| 北碚区| 金湖县| 资兴市| 贡嘎县| 高碑店市|