Установка Laravel 5.1 из-за проблемы с композитором - разрешение отклонено

Я могу без проблем установить laravel 5.0 с композитором. Но когда я пытаюсь установить laravel 5.1, мне отказывают в доступе.

Вот что я получаю, если запускаю:

composer create-project laravel/laravel MyProjectName

Installing laravel/laravel (v5.1.4)
  - Installing laravel/laravel (v5.1.4)
    Loading from cache

Created project in schoollege
> php -r "copy('.env.example', '.env');"
Loading composer repositories with package information
Installing dependencies (including require-dev)
  - Installing vlucas/phpdotenv (v1.1.1)
    Loading from cache

  - Installing symfony/var-dumper (v2.7.3)
    Loading from cache

  - Installing symfony/translation (v2.7.3)
    Loading from cache

  - Installing symfony/routing (v2.7.3)
    Loading from cache

  - Installing symfony/process (v2.7.3)
    Loading from cache

  - Installing psr/log (1.0.0)
    Loading from cache

  - Installing symfony/debug (v2.7.3)
    Loading from cache

  - Installing symfony/http-foundation (v2.7.3)
    Loading from cache

  - Installing symfony/event-dispatcher (v2.7.3)
    Loading from cache

  - Installing symfony/http-kernel (v2.7.3)
    Loading from cache

  - Installing symfony/finder (v2.7.3)
    Loading from cache

  - Installing symfony/dom-crawler (v2.7.3)
    Downloading: 100%         



  [ErrorException]                                                                                                                                
  copy(/home/myusername/.composer/cache/files/symfony/dom-crawler/9dabece63182e95c42b06967a0d929a5df78bc35.zip): failed to open stream: Permission denied                                                                                                                                        



create-project [-s|--stability="..."] [--prefer-source] [--prefer-dist] [--repository-url="..."] [--dev] [--no-dev] [--no-plugins] [--no-custom-installers] [--no-scripts] [--no-progress] [--keep-vcs] [--no-install] [--ignore-platform-reqs] [package] [directory] [version]

Я делаю это внутри папки /var/www/html. Папка /var/www уже указана в группе www-data и www-data имеет разрешение drwxrwxr-x

Решения, которые я пробовал, но ни один из них не работал:

  • композитор очистить кеш
  • композитор создать проект laravel/laravel MyProjectName 5.1
  • самообновление композитора

В чем может быть возможная проблема?

P.S. Я использую LAMP на Ubuntu 14.04 LTS с 64-битной архитектурой.


person Saiyan Prince    schedule 15.08.2015    source источник


Ответы (4)


Когда вы запускаете команду artisan, вы работаете не как пользователь www-data, а как ваш пользователь. Если ваш пользователь не root, вы должны выполнить эту команду как sudo или с su www-data, ИЛИ (еще лучше) вы можете добавить свое имя пользователя в группу www-data, например:

sudo useradd -g www-data youruser

Надеюсь, поможет. ;)

person Rafael Beckel    schedule 15.08.2015

Моя проблема была похожа на вашу ...... copy(/home/user_name/.composer/cache/files/vlucas/phpdotenv/ не удалось открыть поток: в laravel отказано в доступе

Я думаю, что мы столкнулись с этой проблемой для доступа к каталогу /home/user_name/.composer.

После выполнения команды ниже я смог успешно создать свой проект.

sudo chown -R user_name /home/user_name/.composer/
person Suman Biswas    schedule 17.12.2018

Я столкнулся с той же проблемой на Mac, выполните следующие команды:

  1. sudo composer очистить кеш
  2. композитор дамп-автозагрузка
  3. запустите все остальные команды, которые вы хотите
person Blessing Tatenda Kabungaidze    schedule 05.10.2020

Поскольку композитор уже был на полпути к моменту «отказано в доступе», вам нужно будет очистить кеш, прежде чем следовать инструкциям Рафаэля:

php artisan cache:clear 
composer dump-autoload

(из https://stackoverflow.com/a/24369509/1627732)

а затем выполните:

sudo useradd -g www-data yourusername
person Yoga    schedule 05.03.2016