Composer global要求Laravel/Installer不能在Ubuntu上运行



我正试图在我的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文件管理的安装

  1. PHP的最新版本及其扩展
  2. 最新版本的Composer(Global)
  3. Laravel的最新版本(全球)

这将帮助您在没有sudo的情况下全局安装Composer。因此,您将能够在全球范围内安装Laravel。

首先运行whereis composer,然后导航到该目录并运行sudo chown-R$USER:$USER/composer

在命令前使用sudo,

例如:sudo composer global需要"laravel/installer"

相关内容

  • 没有找到相关文章

最新更新