Composer在/ var / www / html中找不到composer.json文件

时间:2016-01-10 19:15:43

标签: php json laravel ubuntu composer-php

我正在尝试在我的虚拟机中设置一个环境,这是一个Ubuntu 15.10。我已经按照以下步骤进行了教程:

curl -sS https://getcomposer.org/installer | php
sudo mv ~/composer.phar /usr/local/bin/composer
composer global require "laravel/installer"

然后我这样做:

sudo nano ~/.profile

我将其添加到文件末尾:

PATH="$PATH:~/.composer/vendor/bin"

最后:

composer global update

完成这些步骤后,我尝试:

laravel new project

并收到此错误:

PHP Warning:  file_put_contents(/var/www/html/laravel_62a1f2f16d54929f3367e5f18f937a47.zip): failed to open stream: Permission denied in /home/alavaros/.composer/vendor/laravel/installer/src/NewCommand.php on line 114
PHP Warning:  ZipArchive::extractTo(): Permission denied in /home/alavaros/.composer/vendor/laravel/installer/src/NewCommand.php on line 132
PHP Warning:  ZipArchive::close(): Invalid or uninitialized Zip object in /home/alavaros/.composer/vendor/laravel/installer/src/NewCommand.php on line 134
Composer could not find a composer.json file in /var/www/html
To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section

1 个答案:

答案 0 :(得分:1)

看起来你有权限问题。

ls -l /var/www的输出是什么? 您应该看到您拥有公开的写入权限(w)或您在列出的组中。

例如,您可能会看到

drwxr-xr-x  3 root root 4096 Jul  4  2015 .

这意味着如果不充当/var/www,您将无法写信root

简单地运行sudo laravel new project可能会解决您当前的问题,但可能会导致您在需要工作时使用sudo

更好的解决方案是让自己访问此目录:

sudo chmod o+w /var/www/

运行此命令将为此计算机上的所有( o )用户(包括您) w 提供对/var/www

的访问权限