溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Composer設(shè)置忽略版本匹配的方法

發(fā)布時(shí)間:2020-12-09 11:23:06 來(lái)源:億速云 閱讀:388 作者:小新 欄目:軟件技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)Composer設(shè)置忽略版本匹配的方法,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

Composer簡(jiǎn)介

Composer 是 PHP 的一個(gè)依賴管理工具。它允許你申明項(xiàng)目所依賴的代碼庫(kù),它會(huì)在你的項(xiàng)目中為你安裝他們。Composer 不是一個(gè)包管理器。是的,它涉及 "packages" 和 "libraries",但它在每個(gè)項(xiàng)目的基礎(chǔ)上進(jìn)行管理,在你項(xiàng)目的某個(gè)目錄中(例如 vendor)進(jìn)行安裝。默認(rèn)情況下它不會(huì)在全局安裝任何東西。因此,這僅僅是一個(gè)依賴管理。

執(zhí)行composer install遇到錯(cuò)誤:Your requirements could not be resolved to an installable set of packages. 這是因?yàn)椴黄ヅ鋍omposer.json要求的版本。

完整錯(cuò)誤如下:

vagrant@homestead:/usr/share/nginx/html/laravel-blog$ sudo composer install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for doctrine/instantiator 1.0.3 -> satisfiable by doctrine/instantiator[1.0.3].
- doctrine/instantiator 1.0.3 requires php ~5.3 -> your PHP version (7.0.3) does not satisfy that requirement.
Problem 2
- doctrine/instantiator 1.0.3 requires php ~5.3 -> your PHP version (7.0.3) does not satisfy that requirement.
- phpunit/phpunit-mock-objects 2.3.0 requires doctrine/instantiator ~1.0,>=1.0.1 -> satisfiable by doctrine/instantiator[1.0.3].
- Installation request for phpunit/phpunit-mock-objects 2.3.0 -> satisfiable by phpunit/phpunit-mock-objects[2.3.0].

提示我的PHP 7版本太高,不符合composer.json需要的版本,但是在PHP 7下應(yīng)該也是可以運(yùn)行的,composer可以設(shè)置忽略版本匹配,命令是:

composer install --ignore-platform-reqs
or
composer update --ignore-platform-reqs

再次執(zhí)行composer命令可以正常安裝包了。

如果提示警告:

Cannot create cache directory /home/vagrant/.composer/cache/repo/https---packagist.org/, or directory is not writable. Proceeding without cache
Cannot create cache directory /home/vagrant/.composer/cache/files/, or directory is not writable. Proceeding without cache

這是在虛擬機(jī)中執(zhí)行composer,提示這個(gè)目錄沒(méi)有可寫權(quán)限,composer無(wú)法緩存下載的包,這樣就每次都得重新下載,把目錄改成可寫可讀即可。

sudo chmod -R 777 /home/vagrant/.composer/cache/files/

另外,在虛擬機(jī)中也設(shè)置composer為國(guó)內(nèi)鏡像,不然下載速度慢的要死,執(zhí)行:

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

OK,大功告成。

關(guān)于Composer設(shè)置忽略版本匹配的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI