簡體   English   中英

安裝Laravel Composer依賴項時遇到的問題

[英]Problems on installing Laravel Composer dependencies

我們正在嘗試通過Composer安裝軟件包google / recaptcha 1.1,為了進行安裝,Composer要求我們安裝phpdocumentor軟件包,但是在運行時

# composer require --dev phpdocumentor / phpdocumentor dev-master 

這給了我們一個錯誤,我為此附上了絲網印刷。 在此處輸入圖片說明

在以前的當前狀態下,Composer指示我們nikic / php-parser軟件包存在問題,我們發現該文件已在composer.lock文件中列出並被刪除,但是相對於symfony / console v4軟件包,composer給出了此錯誤。 .1.1也已在composer.lock文件中列出,我們也嘗試從composer.lock中刪除此依賴項,但我不確定消除這些依賴項是否正確。 因為除了刪除另一個錯誤外,另一個軟件包還顯示了錯誤,如果我們繼續這樣操作,最終將消除許多依賴關系。 請幫忙!

不要手動從composer.lock中刪除內容

當您需要軟件包而未通過特定版本(例如dev-master或^ 1)時,composer將下載符合composer.json的最新版本,並將這些版本記錄在composer.lock上。

composer.lock只是composer install的副產品

如果您手動編輯composer.lock,則基本上是在弄亂composers內部。

刪除軟件包的正確方法是運行composer remove vendor/package或從composer.json手動刪除它,然后運行composer update

composer.lock是神聖的,請不要觸摸它。

現在,您已經觸摸了它,並且想要擰開自己,所以:

  • 刪除composer.lock rm composer.lock
  • 重新安裝您的庫,並獲得不受篡改的composer.lock composer install
  • 安裝您的lib composer require --dev phpdocumentor/phpdocumentor dev-master

結果相同,方法不同:

  • 刪除composer.lock rm composer.lock
  • 使用所需的庫更新composer.json(將phpdocumentor添加到composer.json的dev依賴項部分)
  • 重新安裝所有內容composer install

您嘗試安裝的PhpDocumentor需要phpDocumentor/Reflection ,而后者需要nikic/php-parser而此版本對於您的其他依賴項來說過高。

使用composer depends nikic/php-parser來理解問題所在。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM