Ubuntu 16.04安装Composer后找不到~/.composer文件夹求助
别着急,这个问题其实挺常见的,主要和Composer的版本特性以及你的安装操作有关,我给你拆解下可能的原因和对应的解决办法:
1. 你可能用的是Composer 2.x版本,默认存储目录已变更
从Composer 2.0开始,官方把全局安装的默认目录从~/.composer调整为~/.config/composer了。所以你找不到.composer文件夹是正常的,它已经搬到.config/composer这个隐藏目录里了。
你可以先确认下Composer的全局配置路径,在终端执行:
composer config --list --global
在输出里找[home]这一项,它显示的就是Composer全局文件的存放路径,大概率是/home/你的用户名/.config/composer。
如果是这种情况,你需要把$HOME/.config/composer/vendor/bin添加到环境变量里,而不是原来的.composer路径。
2. 你可能用sudo执行了全局安装命令
如果你当时是通过sudo composer global require "laravel/installer"执行的安装,那Composer会把安装文件放到root用户的主目录里,也就是/root/.composer,而不是当前普通用户的~目录下。
这种情况不推荐继续使用root的目录,后续操作很容易出现权限问题。建议你:
- 先删除root下的相关文件:
sudo rm -rf /root/.composer - 然后以普通用户身份重新执行安装:
composer global require "laravel/installer"
这样文件就会回到你自己用户的目录下了。
3. 环境变量的正确添加方式
不管最终目录是.config/composer还是.composer,添加环境变量的步骤都类似:
- 打开终端,编辑bash配置文件:
nano ~/.bashrc
- 在文件末尾添加一行(替换成你实际的Composer vendor/bin路径):
export PATH="$PATH:$HOME/.config/composer/vendor/bin"
- 保存退出后,让配置立即生效:
source ~/.bashrc
- 最后验证:执行
echo $PATH,查看你添加的路径是否在输出里,再试试laravel命令能不能正常运行。
如果还是找不到目录,你可以重新执行一次composer global require "laravel/installer",仔细看终端的输出,有没有报错信息——比如网络问题导致安装失败,也可能不会生成对应的目录。
内容的提问来源于stack exchange,提问作者MItrajyoti

