執行composer install報錯:Symfony\Component\Process\Exception\ProcessTimedOutException

yana_balabala發表於2018-12-03

在虛擬機器環境下,使用的PHP框架是laravel,下載了專案程式碼後,執行composer install處理依賴關係,但是報了錯,報錯資訊是Symfony\Component\Process\Exception\ProcessTimedOutException。

首先我們要了解一下composer install 命令和相關的命令composer update 命令:

composer install,從當前目錄讀取composer.json檔案,處理依賴關係,如果執行成功會生成vendor資料夾,用於安裝讀取到的依賴設定。使用composer install 命令,需要確定專案目錄下不存在composer.lock檔案,該命令會生成這個檔案,如果當前專案資料夾有composer.lock檔案,可以使用composer update命令;或者刪除當前的composer.lock檔案,重新根據composer.json獲取專案依賴。

composer update 命令是在composer.lock檔案已經存在時獲取依賴的最新版本,並更新composer.lock。

現在回到遇到的問題,我發現報Symfony\Component\Process\Exception\ProcessTimedOutException錯誤,是在安裝phpunit依賴超時出現的,再檢視專案資料夾,發現composer.lock檔案已經生成了,但是vendor資料夾沒有生成。

接下來我就把這個錯誤貼上到百度去找解決方案,解決方案說開啟php配置檔案php.ini,找到disable_functions,刪除裡面的proc_open,但是!!我找到我的php.ini發現disable_functions=後面啥都沒有!!

正確解決方案:

已經存在composer.lock檔案了,執行composer.update命令,接下來從命令列可以看到它是從剛剛沒成功的phpunit繼續安裝依賴的:

上圖最下面的紅框裡的提示表示這次執行最後安裝成功了。

如果你的這個命令還是沒能成功,可以看看這個部落格是否有幫助,我的成功了就沒試這個,感覺這個不會像修改php.ini那麼不靠譜。https://blog.csdn.net/winter_liang/article/details/72874723

 

 

相關文章