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

關於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中文網其他相關文章!

陳述
本文轉載於:learnku。如有侵權,請聯絡admin@php.cn刪除
使用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

如何使用 Composer 解決 JSON Schema 驗證問題如何使用 Composer 解決 JSON Schema 驗證問題Apr 18, 2025 am 11:51 AM

在開發一個基於Symfony的應用程序時,我遇到了一個棘手的問題:如何有效地驗證JSON數據格式。最初,我嘗試使用手動編寫的驗證代碼,但這不僅複雜,而且容易出錯。經過一番探索,我發現了一個名為ptyhard/json-schema-bundle的Composer包,它為我的項目帶來了極大的便利和效率。

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

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

如何使用 Composer 快速搭建 Fecmall 高級項目模板如何使用 Composer 快速搭建 Fecmall 高級項目模板Apr 18, 2025 am 11:45 AM

在開發電商平台時,選擇合適的框架和工具至關重要。最近我在嘗試構建一個功能豐富的電商網站時,遇到了一個棘手的問題:如何快速搭建一個可擴展且功能完善的電商平台。我嘗試了多種解決方案,最終選擇了Fecmall的高級項目模板(fecmall/fbbcbase-app-advanced)。通過使用Composer,這個過程變得非常簡單和高效。可以通過以下地址學習Composer:學習地址

提升 Doctrine 實體序列化效率:sidus/doctrine-serializer-bundle 的應用提升 Doctrine 實體序列化效率:sidus/doctrine-serializer-bundle 的應用Apr 18, 2025 am 11:42 AM

在处理一个包含大量Doctrine实体的项目时,我遇到了一个棘手的问题:每次序列化和反序列化实体时,性能变得非常低效,导致系统响应时间显著增加。我尝试了多种优化方法,但效果不佳。幸运的是,通过使用sidus/doctrine-serializer-bundle,我成功地解决了这个问题,显著提升了项目的性能。

使用 Composer 解決 Laravel 項目中的錯誤日誌問題使用 Composer 解決 Laravel 項目中的錯誤日誌問題Apr 18, 2025 am 11:39 AM

在開發Laravel項目時,錯誤日誌的管理是一個非常關鍵的環節。最近,我在項目中遇到了一個問題:如何高效地捕獲和記錄所有類型的錯誤,並確保這些錯誤信息能被及時處理。經過一番研究,我找到了lukeboy25/errorlogger這個包,它通過Composer安裝,能夠極大地簡化錯誤日誌的管理過程。可以通過一下地址學習composer:學習地址

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

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

使用 Composer 簡化移動設備檢測與文件下載大小計算使用 Composer 簡化移動設備檢測與文件下載大小計算Apr 18, 2025 am 11:33 AM

在開發一個網站時,我遇到了一個常見卻棘手的問題:如何準確判斷用戶的訪問設備類型,以及如何快速獲取文件的下載大小。這些功能看似簡單,但實現起來卻需要處理大量的細節和兼容性問題。經過一番探索,我發現了weizhang/utilities這個Composer包,它提供了簡潔而有效的解決方案。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境