composer安裝composer包報Your requirements could not be resolved

一:使用composer安裝composer包時遇到Your requirements could not be resolved to an installable set of packages
圖片描述
分析:
這是由於doctrine/instantiator的1.1.0版本必須是PHP7.1,然而我的PHP環境是PHP7.0.12,但是我發現一個問題,我的composer.json文件內沒有doctrine/instantiator包信息,那麼爲什麼回報這樣一個錯誤呢?
這時候我找到vendor/doctrine/instantiator發現doctrine/instantiator包已經安裝在我的框架中了,打開vendor/doctrine/instantiator目錄下的composer.json文件發現,這個包所需要的環境是PHP7.1:
圖片描述
找到doctrine/instantiator包的地址:https://packagist.org/package...

這時候發現doctrine/instantiator的1.1.0版本所需的PHP環境爲7.1,所以我想是不是由於我的框架中的doctrine/instantiator包的版本是1.1.0導致在這個框架中安裝composer包失敗的呢?

解決:
1:將doctrine/instantiator包的版本變爲我們需要的版本(這裏我將doctrine/instantiator包的版本變爲1.0.x-dev)

composer require doctrine/instantiator "1.0.x-dev"

2:將doctrine/instantiator包變爲所需要的版本後再安裝你需要的composer包,這時候就不會報錯誤了(這裏我以huaweichenai/baidu-discern包爲例)
圖片描述
這是使用composer安裝就成功了

網上有一種方法:使用 composer install --ignore-platform-reqs 命令設置忽略版本匹配然後再進行安裝你所需要的composer包,這種方法我進行測試後發現還是報錯,具體爲什麼就不清楚了,有知道爲什麼的歡迎留言告訴博主
圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章