一:使用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包,這種方法我進行測試後發現還是報錯,具體為什麼就不清楚了,有知道為什麼的歡迎留言告訴博主