我運行的是 Ubuntu 18.04.6 LTS
我需要安裝 Composer 所以我使用以下命令安裝:
sudo apt-get install composer
但這會安裝一個 Composer 版本,在使用它時會出現以下錯誤:
Fatal error: Uncaught ArgumentCountError: array_merge() does not accept unknown named par ameters in /usr/share/php/Symfony/Component/Console/Descriptor/TextDescriptor.php:205 ubuntu
作曲家 github 註釋建議此錯誤已修復,但我一直遇到它,但沒有任何可以在網上找到的真正解決方案。
所以我卸載了:
sudo apt-get purge --auto-remove composer
我最終通過使用以下替代方法安裝解決了該問題:
curl -sS https://getcomposer.org/installer -o composer-setup.php
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
它說一切都設置正確,但儘管我將它放在 /usr/local/bin 中,但 Composer 仍然沒有在全球範圍內啟動
於是我開始擺弄它。我停止了我的AWS 實例,然後再次啟動它,再次運行上述備用安裝命令(composer-setup.php),現在Composer 在全域範圍內工作(澄清一下:我沒有嘗試在重新啟動實例後立即在全域範圍內部運行Composer;而是安裝了再次使用替代安裝方法,然後嘗試全域運行它並且它起作用了)。
現在 Composer 可以在全球範圍內工作,並且沒有致命錯誤。
有沒有人假設為什麼 Composer 最初被放置在 /usr/local/bin 中但最終開始在全球範圍內工作,但沒有在全球範圍內運行?是否有可能透過 Ubuntu 停止並啟動我的 AWS 執行個體解決了這個問題?如果沒有,那麼到底是什麼解決了這個問題?