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

时间:2014-01-28 19:05:09

标签: json laravel composer-php

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

我正在遵循教程: -

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

我需要做些什么来纠正这个问题?

5 个答案:

答案 0 :(得分:5)

我是你链接到的教程的作者(顺便说一下,希望我们的Laravel tutorial series有一些用处)。当你创建一个同名的新文件时,我无法从你的回答中看出你是否恢复了原始composer.json文件的所有内容......?你绝对不需要nuke composer.json文件并重新开始。您可能知道,该文件包含Laravel项目的所有基于Composer的依赖项,因此如果您要擦除它并在重新开始时遗漏任何内容,您当然会失去重要的功能。

错误消息在我看来就像你在错误的目录中一样,或者它是composer.json文件的权限问题。现在确定已经太晚了,但是如果再次遇到问题,请尝试运行:

chmod a+r composer.json
在运行composer update之前在控制台/ ssh shell上运行

。这将恢复读取权限(适用于所有用户)。您可能还希望检查文件所有权。 (两个命令都假设我们在Unix / Linux系统中,所以YMMV。)

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

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

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

希望这有帮助。

罗布

答案 1 :(得分:2)

复制内容后删除现有的composer.json,然后保存具有相同名称的新文件。

答案 2 :(得分:0)

如果你在Windows上(至少根据我的经验)你实际上只使用了作曲家',而不是composer.phar / .json或任何扩展名。

composer update
composer dump-autoload

这就是我需要输入的所有内容,以便能够在我的laravel目录中访问作曲家。

答案 3 :(得分:0)

我有同样的问题,试过几个适用于其他人的解决方案,但不是我的情况。 然后有人告诉我放弃“PHP'和' .phar'从我的命令。即直接使用

作曲家更新 作曲家创作项目等。等。

令我惊讶的是它有效..

答案 4 :(得分:0)

偶尔,由于原因仍然有点模糊,重启服务器似乎解决了这个问题。在更改文件权限之前,该步骤可能值得尝试。