即使文件存在,Composer也找不到composer.json文件

Sta*_*y J 1 json laravel composer-php

我已经安装了Laravel,并且正在玩它。

我正在学习教程:-

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

我需要一个新的库,并将其添加到composer.json中。

但是当我跑步时

php composer.phar update
Run Code Online (Sandbox Code Playgroud)

我收到以下消息:

Composer could not find a composer.json file in
Run Code Online (Sandbox Code Playgroud)

我需要怎么做才能更正此问题..?

小智 5

我是您链接到的教程的作者(顺便说一下,希望我们的Laravel教程系列有一定用处)。我不能完全从您的答案中看出创建相同名称的新文件时是否恢复了原始composer.json文件的所有内容?您绝对不需要对composer.json文件进行核对然后重新开始。您可能知道,该文件包含Laravel项目中所有基于Composer的依赖项,因此,如果要擦除它并在再次启动时不进行任何操作,那么您当然会失去很多功能。

该错误消息在我看来就像您位于错误的目录中,或者是composer.json文件的权限问题。现在确定还为时已晚,但是如果再次遇到问题,请尝试运行:

chmod a+r composer.json
Run Code Online (Sandbox Code Playgroud)

在运行之前,在console / ssh shell上composer update。这将恢复读取权限(针对所有用户)。您可能还希望检查文件所有权。(两个命令都假定我们在Unix / Linux系统中,所以是YMMV。)

还请注意使用global参数运行Composer命令的实例。这将导致与您安装Composer的位置有关的更改,而不是与您当前正在使用的目录有关的更改。

请注意,您还可以使用--working-dir参数进行更新,因此:

php composer.phar --working-dir=/path/to/laravel/project update
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。