我正试图在我的Ubuntu机器(Trenta OS Distro)上运行composer global require "laravel/installer"
,但由于某种原因,我无法安装它。
file_put_contents(./composer.json):无法打开流:权限被拒绝
我每次尝试都会出现上面的错误。我在谷歌上找不到任何帮助,所以我猜这不是一个很常见的问题。我在那个文件上尝试了whereis
命令,它给了我一个位置
/usr/local/bin/composer
我试着在那个文件上运行chmod -R 777
,但它什么也没做。我不知道还能做什么。
Composer是用以下命令安装在我的机器上的
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
我认为composer.json
只附带项目,但我不应该需要现有的项目来简单地设置Laravel安装程序,对吧?
我遇到了同样的问题,在阅读了这个答案后,我解决了更新.composer
文件夹权限的问题:
sudo chown -R $USER:$USER /home/$USER/.composer
其中$USER
是您机器的用户名。
更新:正如@Lucas Bustamante所指出的,您不需要更改用户名的$USER,它已经是一个环境变量了。
正如IanWarner评论的那样,以sudo用户身份运行composer不是一个好主意,因为这可能会导致安全问题。
usr/local/bin/composer composer global require "laravel/installer"
usr/local/bin/composer composer create-project --prefer-dist laravel/laravel myblog
我认为这可以像解决我的问题一样解决你的问题。
我为Laravel的全局安装过程制作了一个bash文件。从这里下载,在bash文件目录中打开一个终端,然后运行下面的命令:
bash Laravel_Global_Installer.sh
这个bash文件管理的安装
- PHP的最新版本及其扩展
- 最新版本的Composer(Global)
- Laravel的最新版本(全球)
这将帮助您在没有sudo的情况下全局安装Composer。因此,您将能够在全球范围内安装Laravel。
首先运行whereis composer
,然后导航到该目录并运行sudo chown-R$USER:$USER/composer
在命令前使用sudo,
例如:sudo composer global需要"laravel/installer"