2014-01-28 4 views
1

Я установил Laravel, и я играю с ним.Композитор не смог найти файл composer.json, даже если файл существует

Я следую учебник: -

http://geekanddummy.com/how-to-laravel-4-tutorial-part-3-using-external-libraries/

мне нужна новая библиотека и добавил, что в composer.json.

Но когда я бегу

php composer.phar update 

я получаю следующее сообщение: -

Composer could not find a composer.json file in 

Что мне нужно сделать, чтобы получить это исправлено? ..

+1

Вы находитесь в вашем корневом каталоге laravel? – ManiacTwister

+0

да, у меня есть composer.json, composer.lock, composer.phar, server.php, phpunit.xml, gitignore, gitattributes все в каталоге –

+0

эй, это сработало после того, как я удалил composer.json и снова сохранил его –

ответ

2

Удаление существующего композитора.json после копирования содержимого, а затем сохранение нового файла с тем же именем.

0

Если вы на окнах (по крайней мере, на моем опыте), вы на самом деле используете только «композитор», а не композитор.phar/.json или любое расширение.

composer update 
composer dump-autoload 

Это все, что мне нужно для ввода, чтобы иметь возможность доступа к композитору в моем каталоге laravel.

+0

Это полностью зависит от того, как был установлен Composer. И если способ вызова Composer работает и возвращает истинную жалобу от него о том, что происходит неправильно, тогда метод вызова Composer был прав. – Sven

+1

Да абсолютно, но он/он никогда не уточнял, как был установлен композитор. Они никогда не заявляли, что попробовали просто «композитор» в командной строке, поэтому я думал, что они, возможно, установили его так же, как и я. –

4

Я автор учебника, на который вы ссылаетесь (надеюсь, наш Laravel tutorial series, кстати, пригодится). Я не могу сказать из вашего ответа, восстановили ли вы все содержимое исходного файла composer.json при создании нового файла с тем же именем ...? Вам определенно не нужно будет уничтожать файл composer.json и начинать заново. Как вы, наверное, знаете, этот файл содержит все зависимые от Composer зависимости для вашего проекта Laravel, поэтому вы, конечно же, потеряете значительную функциональность, если вы должны стереть его и оставить что-нибудь, когда начнете снова.

Сообщение об ошибке выглядит так, как будто вы либо находитесь в неправильном каталоге, либо проблема с правами на файл composer.json. Это слишком поздно, чтобы быть уверенным, но если вы снова столкнетесь с проблемой, попробуйте запустить:

chmod a+r composer.json 

на консоли/SSH оболочки перед запуском composer update. Это восстанавливает разрешения на чтение (для всех пользователей). Вы также можете проверить право собственности на файл. (Обе команды предполагают, что мы находимся в системе Unix/Linux, поэтому YMMV.)

Остерегайтесь также случаев, когда вы используете команду Composer с параметром global. Это приведет к изменению, которое относится к везде, где вы установили Composer, а не каталог, вы в настоящее время работает в

Обратите внимание, что вы также можете обновить с помощью параметра --working-dir, таким образом:.

php composer.phar --working-dir=/path/to/laravel/project update 

Надеюсь это поможет.

Роб

+0

Извините за некромантию, но я столкнулся с той же проблемой. Мне удалось заставить его работать, только если я предоставил -working-dir. Я должен был установить его глобально (окна). Есть ли способ по-прежнему запускать композитор в рабочем каталоге без необходимости добавления дополнительного флага? – gin93r

+0

Боюсь, я никогда не использовал Composer под Windows и не знаю, как он себя ведет в этой среде. –

0

я была такая же проблема, пытались несколько решений, которые много работали для других, но не в моем случае. , тогда кто-то сказал мне отказаться от «php» и «.phar» из моей команды. то естьнапрямую использовать

сборник обновление композитор создание-проект и т.п.etc.

и к моему удивлению, он работал ..

0

Иногда и по причинам, которые остаются немного расплывчатым, перезапуск сервера, кажется, решить эту проблему. Этот шаг можно было бы попробовать, прежде чем вносить изменения в разрешения на доступ к файлам.

Смежные вопросы