【问题标题】:Composer could not find a composer.jsonComposer 找不到 composer.json
【发布时间】:2015-11-01 05:24:44
【问题描述】:

我尝试通过 brew per 安装 composer:

usr/local/bin(不在小牛队,我必须亲自制作)我做到了。

brew tap josegonzalez/homebrew-php brew install josegonzalez/php/composer

我可以运行php composer.phar,但是当我运行php composer.phar install 时,我得到了错误:

Composer could not find a composer.json file in /usr/local/bin To initialize a project, please create a composer.json file as described in the http://getcomposer.org/ "Getting Started" section

所以我去了https://getcomposer.org/doc/00-intro.mdCTRL+F ".json" 什么都没有。认真的作曲家?

编辑: 我想做的是让composer 可执行与php composer.phar。从现在开始,这在这一点上起作用。

【问题讨论】:

  • 因为;您全局安装了composer,并且可以在任何地方调用,但是当您调用composer install 时,composer 将在同一目录中搜索composer.json 文件,而不是全局搜索。
  • 你解决了吗?

标签: php json composer-php osx-mavericks


【解决方案1】:

如果您忘记运行:

php artisan key:generate

你会遇到这个错误:Composer 找不到 composer.json

【讨论】:

  • 您能进一步解释一下吗?这看起来像是与 Laravel 相关的命令。除非 Laravel 以其他方式安装,否则这将无法执行任何操作
  • 是的,这个命令首先在 laravel 运行。如果一个人忘记运行它,(就像我有一次我从 git 获取项目时忘记运行 key:generate)并面对这个错误:Composer could not find a composer.json.
  • 请通过编辑将所有解释添加到您的答案中
【解决方案2】:

在我的情况下,我在错误的目录中,

My directory Path
eCommerce-shop/eCommerce

我在 eCommerce-shop 里面并执行这个命令 composer intsall 所以它不会抛出这个错误。

【讨论】:

    【解决方案3】:

    您可以尝试更新作曲家:

    sudo composer self-update
    

    如果这不起作用,请删除作曲家文件,然后使用: SSH 进入终端并输入:

    $ cd ~
    $ sudo curl -sS https://getcomposer.org/installer | sudo php
    $ sudo mv composer.phar /usr/local/bin/composer
    $ sudo ln -s /usr/local/bin/composer /usr/bin/composer
    

    如果您遇到以下错误:PHP 致命错误:未捕获异常 'ErrorException' 并带有消息 'proc_open(): fork failed - Cannot allocate memory' in phar

    /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
    /sbin/mkswap /var/swap.1
    /sbin/swapon /var/swap.1
    

    安装包使用:

    composer global require "package-name"
    

    【讨论】:

    • 你能进一步解释一下吗?如果之前没有安装过 Composer,那么问题中的错误消息应该如何出现?另外,如果 Composer 是在使用 Brew 之前安装的,为什么还要以这种方式安装呢?
    • 解决方法是安装新版本的 Composer。
    • 请通过编辑为您的答案添加一些进一步的解释。为什么安装新版本会有帮助?另外,为什么不通过self-update 更新现有版本呢?
    【解决方案4】:

    您在错误的目录中。 cd 到你的项目目录,然后运行 ​​composer update。

    【讨论】:

    • 我遇到了这个问题,我没有注意到。
    【解决方案5】:

    就我而言,我使用的是宅基地。
    cd ~/Homestead并运行composer install

    【讨论】:

      【解决方案6】:

      “入门”页面是文档的介绍。大多数文档都会从安装说明开始,就像 Composer 所做的那样。

      包含composer.json 文件信息的页面是located here - 在“基本用法”下的第二页。

      我建议您完整阅读文档,以便更好地了解如何使用 Composer。我还建议删除您拥有的内容并按照文档中提供的安装说明进行操作。

      【讨论】:

        【解决方案7】:

        我遇到了同样的错误,并能够解决如下:

        1. composer diagnose看看是不是安装的composer版本有问题
        2. composer self-update安装最新版本
        3. composer update 更新您的 composer.json 文件。

        【讨论】:

          【解决方案8】:
          • 创建一个名为 composer.json 的文件
          • 确保 Composer 可以写入您要查找的目录。
          • 更新您的作曲家。

            这对我有用

          【讨论】:

          • 针对哪个问题?在发布您的答案之前,您是否看过其他答案?
          • 这导致[Seld\JsonLint\ParsingException] "./composer.json" does not contain valid JSON Parse error on line 1: ^ Expected one of: 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '[
          【解决方案9】:

          就我而言,我没有将所有项目文件复制到运行composer install 的文件夹中。这样做:

          1. 将您的项目文件(包括composer.json)复制到文件夹
          2. 打开 CMD(我使用的是 ConEmu),导航到新文件夹,从那里运行 composer install
          3. 如果 json 文件不正确,它应该可以工作或抛出错误。

          如果您只想让 composer 运行,请创建一个新的 composer.json 文件,例如:

          {
              "require": {
                  "php": ">=5.3.2"
              }
          }
          

          然后运行composer install

          【讨论】:

            【解决方案10】:

            简单的解决方案是通过这个命令安装:

            curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
            

            安装包非常简单:

             composer global require "phpunit/php-invoker=1.1.*"
            

            Ref : composer web site.

            【讨论】:

              【解决方案11】:

              安装 composer 并添加到你的全局路径:

              curl -sS https://getcomposer.org/installer | php
              mv composer.phar /usr/local/bin/composer
              

              在终端中运行这些。它确实说如果您收到 usr 不存在的错误,您确实需要手动制作它。我知道选择了一个答案,所以这适用于将来可能会看到此问题的任何人,就像我有时一样,并且不想被建议访问另一个站点。很简单,只有两行,如果你有权限错误,可能必须在 sudo 中

              【讨论】:

                猜你喜欢
                • 2016-04-15
                • 2013-12-05
                • 2015-06-06
                • 2014-02-20
                • 2017-06-29
                • 2018-07-09
                • 2017-02-06
                • 2020-01-18
                • 2020-08-23
                相关资源
                最近更新 更多