How to use composer: Difference between revisions
Jump to navigation
Jump to search
Created page with "composer 用起来不便,有三种原因,一是 composer 版本旧了,二是网络问题,三是 sudo 问题。 == 解决版本问题 == 不要用发行版自带的 composer,去官网下载最新的 composer,就行了。 == 解决网络问题 == 网络问题还有什么解决办法吗?懂的都懂。 退而求其次,用国内源能解决 80% 的问题: <syntaxhighlight lang="bash" line> composer clear-cache composer self-update composer config -g -l c..." |
|||
(2 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
== 解决版本问题 == | == 解决版本问题 == | ||
不要用发行版自带的 composer,去官网下载最新的 | 不要用发行版自带的 composer,去官网下载最新的 composer,就行了。以下参考近期版本,最新版本请自行去官网查看安装方法: | ||
<syntaxhighlight lang="bash" line> | |||
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" | |||
php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'.PHP_EOL; } else { echo 'Installer corrupt'.PHP_EOL; unlink('composer-setup.php'); exit(1); }" | |||
php composer-setup.php | |||
php -r "unlink('composer-setup.php');" | |||
sudo mv composer.phar /usr/local/bin/composer | |||
</syntaxhighlight> | |||
== 解决网络问题 == | == 解决网络问题 == | ||
Line 16: | Line 23: | ||
composer config -g --unset repos.packagist | composer config -g --unset repos.packagist | ||
</syntaxhighlight> | </syntaxhighlight> | ||
剩下的 20% 的情况只有彻底解决网络问题。解决不了就别学编程了。 | |||
== 解决 sudo 问题 == | |||
刚开始我一直不明白为何每次用 sudo 都有提示不建议用 sudo,不用 sudo 又老失败。 | |||
现在我搞明白了,你运行 sudo 的路径的所属用户假设名字叫 Linda,你自身运行命令的身份也是 Linda,也就是 Linda 在一个属于她自己的路径中 composer,就可以无 sudo 畅用 composer。 |
Latest revision as of 16:49, 27 May 2025
composer 用起来不便,有三种原因,一是 composer 版本旧了,二是网络问题,三是 sudo 问题。
解决版本问题
不要用发行版自带的 composer,去官网下载最新的 composer,就行了。以下参考近期版本,最新版本请自行去官网查看安装方法:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'.PHP_EOL; } else { echo 'Installer corrupt'.PHP_EOL; unlink('composer-setup.php'); exit(1); }"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
解决网络问题
网络问题还有什么解决办法吗?懂的都懂。
退而求其次,用国内源能解决 80% 的问题:
composer clear-cache
composer self-update
composer config -g -l
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
composer config -g repos.packagist composer https://mirrors.tencent.com/composer/
composer config -g --unset repos.packagist
剩下的 20% 的情况只有彻底解决网络问题。解决不了就别学编程了。
解决 sudo 问题
刚开始我一直不明白为何每次用 sudo 都有提示不建议用 sudo,不用 sudo 又老失败。
现在我搞明白了,你运行 sudo 的路径的所属用户假设名字叫 Linda,你自身运行命令的身份也是 Linda,也就是 Linda 在一个属于她自己的路径中 composer,就可以无 sudo 畅用 composer。