Некоторое время назад я задал тот же вопрос на сайте stackoverflow, но безрезультатно. Поскольку это явно имеет какое-то отношение к конфигурации нашего Synology NAS, может быть, ваш опыт, ребята, подходит лучше?
Недавно мы сменили офисы, и в результате теперь используем другую модель NAS, как и раньше. Но теперь у нас возникли проблемы с запуском простой команды "composer require".
Вот такая ситуация: 1. Я получил нашу папку проекта на NAS, отображаемую как сетевой диск на моем компьютере с Windows, например. I: 2. Я хочу потребовать следующий пакет в нашем проекте через менеджер зависимостей Composer php, установленный на моем локальном компьютере с Windows: «composer require dereuromark / cakephp-queue» 3. В результате я получаю ошибку «./composer. json не читается ". (Кстати, я могу просто прочитать содержимое файла composer.json как в проводнике Windows, так и через cmd, поэтому я не думаю, что это действительно разрешение для моего пользователя)
На нашем предыдущем NAS мы проделали точно такую же настройку, и она работала безупречно. Когда мы копируем все содержимое из папки нашего проекта на NAS в локальную папку на C: и затем запускаем ту же команду композитора, он просто работает. Так что это как-то связано с NAS.
У кого-нибудь есть идея, какие настройки NAS мы могли бы посмотреть, чтобы это снова заработало?
Спасибо!
Я очень долго находился в такой же ситуации, но сегодня я наконец нашел решение. Наверное, не самый простой, но работает (у меня):
Обратной стороной этого решения является то, что вам придется повторять этот шаг каждый раз, когда у вас будет новый файл composer.json. Дайте мне знать, если вы знаете лучший / простой способ исправить это!
Попробуйте запустить:
composer clear-cache
При переходе на новый NAS могут мешать некоторые старые файлы кэша. Я также видел, как проблемы с разрешениями решаются с помощью:
composer self-update
Обратите внимание, что разрешения могут быть нужны не вашему пользователю, а веб-пользователю. Так что проверьте свою настройку, чтобы увидеть, какой пользователь запускает процесс, для которого нужны правильные разрешения.