首頁 開發工具 composer 關於composer.json中配置資訊的介紹

關於composer.json中配置資訊的介紹

Oct 12, 2019 pm 02:11 PM
composer

關於composer.json中配置資訊的介紹

Config

#下面由#composer指令使用教學欄目請為大家介紹composer.json 中配置相關的資訊。

process-timeout 請求程序逾時設定

預設請求逾時時間設定為300 秒,像使用Git 進行Clone 操作時一樣,Composer 可以在請求逾時之前一直運行,直到完成安裝。如果你的網路速度不夠快,或是要載入的內容比較多,可以把超時時間設定的高一些。

use-include-path 使用包含路徑設定

預設設定 false,如果設定為 true, Composer 自動載入器會自動尋找 PHP 路徑中包含的類別。

preferred-install 安裝首選項設定

預設設定 auto 模式 ,可設定為 source, dist 或 auto 模式。這個選項允許你將 Composer 設定為自己喜歡的模式。要進行更精確的安裝首選項設置,可以使用哈希模式。

{
    "config": {
        "preferred-install": {
            "my-organization/stable-package": "dist",
            "my-organization/*": "source",
            "partner-organization/*": "auto",
            "*": "dist"
        }
    }
}
登入後複製

請注意:設定選項模式使用的順序很重要。精確的設定模式應該在寬泛的設定模式之前使用,精確的模式設定才會生效。在全域和套件設定中,當混合使用字串與雜湊進行設定時,字串設定項目將轉換為 * 模式。

store-auths

認證彈框後採取的動作,有三個選項:

#true 永遠儲存認證資訊;

false 不儲存認證資訊;

"prompt" 每次都會要求重新驗證,此為預設項目。

github-protocols

預設為 ["https", "ssh", "git"]。從 github.com 複製時使用的協定優先清單,git 協定不是加密傳輸,所以只有當 secure-http  項設定為關閉時,才會優先使用 git 協定進行複製。如果你想設定遠端 Push URL 使用 HTTPS 協定而非 SSH (git@github.com:...) 協議,你可以只設定 ["https"] ,這樣 Composer 就會停止重寫 Push URL 為 SSH 協定。

github-oauth

一個網域名稱和 Oauth Keys 的清單。例如:使用 {"github.com": "oauthtoken"} 作為此選項的值, 將使用 oauthtoken 來存取 github 上的私人倉庫,並繞過基於 IP 的 API 使用頻率。點此取得 關於如何取得 GitHub 的 OAuth token。

gitlab-oauth

一個網域名稱和 Oauth Keys 的清單。例如:使用 {"gitlab.com": "oauthtoken"} 作為此選項的值, 將使用 oauthtoken 來存取 Gitlab 上的私人倉庫。請注意:如果你的程式碼不是託管在 gitlab.com 上的,你還需要設定這個參數 ——  gitlab-domains 。

gitlab-token

一個網域和 Private Token 的清單。例如: 使用  {"gitlab.com": "privatetoken"} 作為這個選項的值,將使用 privatetoken 來存取 Gitlab 上的私人倉庫。請注意:如果你的程式碼不是託管在 gitlab.com 上的,你也必須指定這個參數 ——  gitlab-domains 。

disable-tls

預設為 false。如果設定為 true,所有的 HTTPS URL 將會被替換成 HTTP,網路層加密將不被使用。開啟這個選項會有安全風險,所以不建議開啟,更好地辦法是在 php.ini 開啟 php_openssl 擴充功能。

secure-http

預設為 true 。如果設定為true,只有HTTPS URL 被允許在Composer 中使用,如果你真的確定需要使用HTTP 來存取一些東西,你可以關閉它,但使用Let's Encrypt 這樣的供應商來獲得一個免費的SSL 憑證會是一個更好地選擇。

bitbucket-oauth

一個網域名稱和使用者名稱的清單。例如使用 {"bitbucket.org": {"consumer-key": "myKey", "consumer-secret": "mySecret"}}。詳見 了解如何在 BitBucket 建立一個使用者。

cafile

本機檔案系統中認證憑證的位置。在 PHP 5.6 中你應該在 php.ini 透過 openssl.cafile 來設置,儘管在 PHP 5.6 中這會自動取得。

capath

如果證書檔案未指定或在該位置找不到證書,則系統會在 capath 指定的檔案中尋找適當的證書。 capath 必須是一個存在被正確哈希加密憑證的目錄。

http-basic

一個網域名稱和儲存驗證所需使用者名稱密碼的清單。例如使用 {"example.org": {"username": "alice", "password": "foo"}} 作為它的值,則會讓 Composer 用指定的使用者名稱密碼去驗證 example.org。

注意:與驗證相關的設定項目例如 http-basic 和 github-oauth 也可以定義在 auth.json 檔案中,脫離 composer.json。透過這樣你可以讓 Git 忽略它,並且每個開發者可以儲存自己的驗證憑證。

platform

讓你偽裝平台擴充(PHP 和 其擴充)以便於模擬生產環境以及在設定中定義你的目標平台。例如:{"php": "7.0.3", "ext-something": "4.0.3"}。

vendor-dir

預設是 vendor。你也可以在一個不同的目錄安裝所需依賴。 $HOME 和 ~ 在 vendor 和下面所有的 *-dir 目錄中會被替換成你的 HOME 目錄。

bin-dir

預設是 vendor/bin。如果一個項目包含可執行文件,那麼它們會在這個目錄中做符號連結。

data-dir

在WIndows 中預設為C:\Users\\AppData\Roaming\Composer,在遵守XDG 目錄定義的unix 系統中是$XDG_DATA_HOME/composer,在其他unix 系統會是$home。現在它只用來儲存舊版的 composer.phar 檔案來以防回滾。詳見 COMPOSER_HOME。

cache-dir

在WIndows 中預設為C:\Users\\AppData\Local\Composer,在遵守XDG 目錄定義的unix 系統中是$XDG_CACHE_HOME/composer,在其他unix 系統會是$home/cache。儲存 Composer 用到的所有快取檔案。詳見 COMPOSER_HOME。

cache-files-dir

預設是 $cache-dir/files。儲存所有擴充包的 ZIP 壓縮包。

cache-repo-dir

預設是 $cache-dir/repo。儲存 composer 類型倉庫的元資料和 svn, fossil, github, bitbucket 類型倉庫的 VCS 倉庫。

cache-vcs-dir

預設是 $cache-dir/vcs。儲存所有 git/hg 類型倉庫所複製的檔案以加快安裝速度。

cache-files-ttl

預設是 15552000 (6 個月)。 Composer 會快取它下載的所有擴充包所建置的檔案 (zip, tar, ..) 。預設 6 個月不使用就會被清空。此設定項允許你更改這個過期時間(秒為單位)或設為 0 來完全停用。

cache-files-maxsize

預設是 300MiB。 Composer 會快取它下載的所有擴充包所建置的檔案 (zip, tar, ..) 。這是它在定期執行垃圾回收時允許快取檔案佔用的最大空間。較舊或是不經常使用的快取會被清除。

bin-compat

預設是 auto。決定了可執行檔安裝時所需的相容性。如果設為 auto,則在 Windows 中只會安裝 .bat 檔案。如果設為 full 那麼除了 .bat,unix 系統所需的腳本檔案也會被安裝。這主要是為了處理執行 Composer 和專案運作所在系統不一致的情況。

prepend-autoloader

預設是 true。如果設為 false,Composer 的自動載入器則不會預先載入到已存在的自動載入器中。這有時可以用來修復一些因與其他載入器共用而導致的一些問題。

autoloader-suffix

預設是 null。會用做 Composer 自動載入器後綴的字串。如果為空,則會產生一組隨機字串。

optimize-autoloader

預設是 false。如果設為 true,則總是會在產生自動載入器時進行最佳化。

sort-packages

預設是 false。如果設為 true,執行 require 指令時會始終保持 composer.json 檔案中的擴充包名稱依照字母順序排列。

classmap-authoritative

預設是 false。如果設為 true,Composer 自動載入器只會載入 classmap 中的類別。此項目會啟用 optimize-autoloader。

apcu-autoloader

預設是 false。如果設為 true,Composer 自動載入器會檢查 APCu,並且當擴充功能已啟用時,使用它來快取找到和未找到的類別。

github-domains

預設是 ["github.com"]。一個在 gitHub 模式中使用的網域清單。 GitHub Enterprise 可能會用到此項目。

github-expose-hostname

預設是 true。如果設為 false,則為存取 Github API 建立的 OAuth 令牌會有一個日期而不是主機名稱。

gitlab-domains

預設是 ["gitlab.com"]。一個 Gitlab 伺服器的網域清單。如果你使用 gitlab 倉庫類型時可能會用到此項目。

notify-on-install

預設是 true。 Composer 允許倉庫定義一個通知 URL,以便於在基於此倉庫的擴充包被安裝時接收通知。此項允許你停用此行為。

discard-changes

默认是 false 并且可以被设为 true,false 或 "stash"。此项允许你设置在升级过程中发生冲突时的默认行为。true 会放弃 vendors 中的更改,而 "stash" 尝试着去暂存以便于恢复。如果你的 CI 服务器或部署脚本可能会更改 vendors,那么可以使用该设置。

archive-format

默认是 tar。Composer 允许你设置在工作流需要创建特定格式压缩包时的默认压缩格式。

archive-dir

默认是 .。Composer 允许你设置在工作流需要创建特定格式压缩包时的默认压缩文件存储路径。也为了模块间的开发变得更加容易。

举个例子:

{
    "config": {
        "archive-dir": "/home/user/.composer/repo"
    }
}
登入後複製

htaccess-protect

默认是 true。如果设为 false,Composer 不会在 COMPOSER_HOME、cache、和数据目录创建 .htaccess 文件。

以上是關於composer.json中配置資訊的介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

laravel入門實例 laravel入門實例 Apr 18, 2025 pm 12:45 PM

Laravel 是一款 PHP 框架,用於輕鬆構建 Web 應用程序。它提供一系列強大的功能,包括:安裝: 使用 Composer 全局安裝 Laravel CLI,並在項目目錄中創建應用程序。路由: 在 routes/web.php 中定義 URL 和處理函數之間的關係。視圖: 在 resources/views 中創建視圖以呈現應用程序的界面。數據庫集成: 提供與 MySQL 等數據庫的開箱即用集成,並使用遷移來創建和修改表。模型和控制器: 模型表示數據庫實體,控制器處理 HTTP 請求。

使用 Composer 解決推薦系統的困境:andres-montanez/recommendations-bundle 的實踐 使用 Composer 解決推薦系統的困境:andres-montanez/recommendations-bundle 的實踐 Apr 18, 2025 am 11:48 AM

在開發一個電商網站時,我遇到了一個棘手的問題:如何為用戶提供個性化的商品推薦。最初,我嘗試了一些簡單的推薦算法,但效果並不理想,用戶的滿意度也因此受到影響。為了提升推薦系統的精度和效率,我決定採用更專業的解決方案。最終,我通過Composer安裝了andres-montanez/recommendations-bundle,這不僅解決了我的問題,還大大提升了推薦系統的性能。可以通過一下地址學習composer:學習地址

解決 Craft CMS 中的緩存問題:使用 wiejeben/craft-laravel-mix 插件 解決 Craft CMS 中的緩存問題:使用 wiejeben/craft-laravel-mix 插件 Apr 18, 2025 am 09:24 AM

在使用CraftCMS開發網站時,常常會遇到資源文件緩存的問題,特別是當你頻繁更新CSS和JavaScript文件時,舊版本的文件可能仍然被瀏覽器緩存,導致用戶無法及時看到最新的更改。這個問題不僅影響用戶體驗,還會增加開發和調試的難度。最近,我在項目中遇到了類似的困擾,經過一番探索,我找到了wiejeben/craft-laravel-mix這個插件,它完美地解決了我的緩存問題。

如何使用 Composer 簡化郵件營銷:DUWA.io 的應用實踐 如何使用 Composer 簡化郵件營銷:DUWA.io 的應用實踐 Apr 18, 2025 am 11:27 AM

在進行郵件營銷活動時,我遇到了一個棘手的問題:如何高效地創建並發送HTML格式的郵件。傳統的方法是手動編寫代碼並使用SMTP服務器發送郵件,但這不僅耗時,而且容易出錯。在嘗試了多種解決方案後,我發現了DUWA.io,這是一個簡單易用的RESTAPI,能夠幫助我快速創建和發送HTML郵件。為了進一步簡化開發流程,我決定使用Composer來安裝和管理DUWA.io的PHP庫——captaindoe/duwa。

使用DICR/YII2-Google將Google API集成在YII2中 使用DICR/YII2-Google將Google API集成在YII2中 Apr 18, 2025 am 11:54 AM

vProcesserazrabotkiveb被固定,мнелостольностьстьс粹餾標д都LeavallySumballanceFriablanceFaumDoptoMatification,Čtookazalovnetakprosto,kakaožidal.posenesko

laravel框架安裝方法 laravel框架安裝方法 Apr 18, 2025 pm 12:54 PM

文章摘要:本文提供了詳細分步說明,指導讀者如何輕鬆安裝 Laravel 框架。 Laravel 是一個功能強大的 PHP 框架,它 упростил 和加快了 web 應用程序的開發過程。本教程涵蓋了從系統要求到配置數據庫和設置路由等各個方面的安裝過程。通過遵循這些步驟,讀者可以快速高效地為他們的 Laravel 項目打下堅實的基礎。

laravel怎麼查看版本號 laravel查看版本號方法 laravel怎麼查看版本號 laravel查看版本號方法 Apr 18, 2025 pm 01:00 PM

Laravel框架內置了多種方法來方便地查看其版本號,滿足開發者的不同需求。本文將探討這些方法,包括使用Composer命令行工具、訪問.env文件或通過PHP代碼獲取版本信息。這些方法對於維護和管理Laravel應用程序的版本控制至關重要。

如何使用 Composer 提升 Laravel 應用的安全性:wiebenieuwenhuis/laravel-2fa 庫的應用 如何使用 Composer 提升 Laravel 應用的安全性:wiebenieuwenhuis/laravel-2fa 庫的應用 Apr 18, 2025 am 11:36 AM

在開發一個Laravel應用時,我遇到了一個常見但棘手的問題:如何提升用戶賬戶的安全性。隨著網絡攻擊的日益複雜,單一的密碼保護已經不足以保障用戶的數據安全。我嘗試了幾種方法,但效果都不盡如人意。最終,我通過Composer安裝了wiebenieuwenhuis/laravel-2fa庫,成功地為我的應用添加了雙因素認證(2FA),大大提升了安全性。

See all articles