我正在尝试在我的虚拟机中设置一个环境,它是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
看起来您有权限问题。
ls -l /var/www
的输出是什么?您应该看到您对public具有写入权限(w
),或者您在列出的组中。
例如,您可能会看到
drwxr-xr-x 3 root root 4096 Jul 4 2015 .
这意味着您在不充当root
的情况下写入/var/www
时会遇到问题。
简单地运行sudo laravel new project
可能会解决当前的问题,但可能会导致您在任何时候都必须使用sudo
。
一个更好的解决方案是让自己访问这个目录:
sudo chmod o+w /var/www/
运行此命令将允许此机器上的所有(o其他)用户(包括您)w写入访问/var/www