2014-01-28 89 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

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

0

如果你在windows上(至少在我的经验中),你实际上只使用'composer',而不是composer.phar/.json或任何扩展名。

composer update 
composer dump-autoload 

这是我需要输入能在我的laravel目录访问作曲家。

+0

这完全取决于Composer的安装方式。如果调用Composer的方式正常工作并从中返回真正的抱怨,那么调用Composer的方法是正确的。 – Sven

+1

是的,但她/他从未澄清过作曲家是如何安装的。他们从来没有说过他们在命令行中尝试过“作曲家”,所以我认为他们可能已经按照我的方式安装了它。 –

4

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

错误消息在我看来像你要么在错误的目录中,要么是composer.json文件的权限问题。它现在已经太晚了是肯定的,但如果你遇到的问题又来了,尝试运行:运行composer update之前在控制台/ SSH壳

chmod a+r composer.json 

。这会恢复读取权限(针对所有用户)。你也可能希望检查文件的所有权。 (这两个命令都假设我们使用的是Unix/Linux系统,所以YMMV。)

还要注意您运行Composer命令时使用参数global的情况。这将导致涉及到无论你已经安装了作曲,而不是你目前在工作目录中的变化

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

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

希望这可以帮助。

罗布

+0

对不起,但我遇到了同样的问题。只有当我提供了--working-dir时,才能使其工作。我必须在全球安装它(windows)。有没有办法在工作目录中运行作曲家而不必提供附加标志? – gin93r

+0

害怕我从未在Windows下使用过Composer,我不确定它在该环境下的表现。 –

0

我有同样的问题,尝试了许多解决方案,为别人而不是在我的情况下工作。 然后有人告诉我从我的命令中删除'php'和'.phar'。即直接使用

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

让我吃惊,它的工作..

0

偶尔,并为仍然是一个有点模糊的原因,重新启动服务器似乎解决了问题。在更改文件权限之前,这一步可能值得尝试。

相关问题