Композиторът не можа да намери composer.json

Опитах се да инсталирам композитор чрез brew на:

В usr/local/bin (което не беше на Mavricks и трябваше да го направя лично) го направих.

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.md. CTRL+F ".json" и няма нищо. Сериозен композитор?

РЕДАКТИРАНЕ: Това, което се опитвах да направя, беше да имам composer изпълним файл срещу php composer.phar. Това работи в този момент от сега.


person Alexander Kleinhans    schedule 09.08.2015    source източник
comment
защото; Вие инсталирахте composer глобално и можете да бъдете извикани навсякъде, но когато извикате composer install, composer ще търси composer.json файла в същата директория, а не глобално.   -  person Vural    schedule 24.01.2020
comment
Успяхте ли да разрешите това?   -  person Saeesh Tendulkar    schedule 01.07.2020


Отговори (11)


Страницата "Първи стъпки" е въведението към документацията. Повечето документи ще започнат с инструкции за инсталиране, точно както прави Composer.

Страницата, която съдържа информация за файла composer.json, се намира тук - под „Основни Използване“, втора страница.

Бих препоръчал да прочетете цялата документация, така че да разберете по-добре как да използвате Composer. Също така препоръчвам да премахнете това, което имате, и да следвате инструкциите за инсталиране, предоставени в документацията.

person Community    schedule 09.08.2015
comment
Благодаря ви много meagar и user926352 - person drakogemini2; 30.12.2020

За да инсталирате композитор и да добавите към вашия глобален път:

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

стартирайте ги в терминала. Казва, че ако получите грешка, че usr не съществува, трябва да го направите ръчно. Знам, че е избран отговор, така че това е за всеки, който може да види това в бъдеще, като мен понякога, и не иска да бъде посъветван да посети още един сайт. Това е просто само два реда, може да се наложи да е в sudo, ако имате грешка в разрешението

person Community    schedule 09.08.2015

Вие сте в грешна директория. cd в директорията на вашия проект, след което стартирайте актуализация на композитора.

person Muhammad    schedule 23.04.2019
comment
Имах този проблем и не го забелязах. - person Fahim Sultan; 09.04.2020

Просто решение е да инсталирате чрез тази команда:

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

Инсталирането на пакет е много просто:

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

Справка: уебсайт на композитора.

person Saeid    schedule 06.10.2015

В моя случай не копирах всички файлове на проекта в папката, в която изпълнявах composer install. Така че:

  1. Копирайте файловете на вашия проект (включително composer.json) в папка
  2. отворете CMD (използвам ConEmu), навигирайте до новата папка, стартирайте composer install от там
  3. Трябва да работи или да извежда грешки, в случай че json файлът не е правилен.

Ако просто искате да накарате композитора да работи, създайте нов composer.json файл с например:

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

След това стартирайте composer install.

person Avatar    schedule 30.11.2016

Срещнах същата грешка и успях да я разреша, както следва:

  1. composer diagnose, за да видите дали нещо не е наред с инсталираната версия на Composer
  2. composer self-update, за да инсталирате най-новата версия
  3. composer update, за да актуализирате вашия composer.json файл.
person sean dev    schedule 31.05.2018

В моя случай използвам чифлик.
cd ~/Homesteadи стартирайте composer install.

person saee    schedule 29.03.2019

В моя случай съм в грешна директория,

My directory Path
eCommerce-shop/eCommerce

Аз съм в eCommerce-shop и изпълнявам тази команда composer intsall, така че да не хвърля тази грешка.

person HadiNiazi    schedule 30.10.2020

Ако забравите да бягате:

php artisan key:generate

Ще се сблъскате с тази грешка: Composer не може да намери composer.json

person Zahra Badri    schedule 29.09.2020
comment
Можете ли да обясните това по-подробно? Това изглежда като команда, свързана с Laravel. Освен ако Laravel не е инсталиран по друг начин, няма начин това да направи нещо - person Nico Haase; 21.10.2020
comment
Да, тази команда се изпълнява първо в laravel. Ако човек забрави да изпълни това, (като мен веднъж, когато получих проект от git, забравих да изпълня key:generate) и се изправи пред тази грешка: Composer не можа да намери composer.json. - person Zahra Badri; 20.02.2021
comment
Моля, добавете всички обяснения към вашия отговор, като го редактирате - person Nico Haase; 21.02.2021

  • Създайте файл, наречен composer.json
  • Уверете се, че Композиторът може да пише в директорията, която търсите.
  • Актуализирайте своя композитор.

    Това проработи за мен
person ali shojaei    schedule 30.01.2018
comment
За кой проблем? Разгледахте ли другите отговори, преди да публикувате своя? - person Nico Haase; 30.01.2018
comment
Това води до [Seld\JsonLint\ParsingException] "./composer.json" does not contain valid JSON Parse error on line 1: ^ Expected one of: 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '[ - person Franz Holzinger; 27.04.2021

Можете да опитате да актуализирате композитора:

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 Fatal error: Uncaught exception '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"
person Moonis Abidi    schedule 21.10.2020
comment
Можете ли да обясните това по-подробно? Ако Composer не е инсталиран преди, как трябва да се появи съобщението за грешка от въпроса? Също така, защо човек трябва да инсталира Composer по този начин още веднъж, ако е бил инсталиран преди използването на Brew? - person Nico Haase; 21.10.2020
comment
Решението е да инсталирате нова версия на Composer. - person Moonis Abidi; 21.10.2020
comment
Моля, добавете допълнително обяснение към отговора си, като го редактирате. Защо трябва да помогне инсталирането на нова версия? Освен това, защо не актуализирате съществуващата версия чрез self-update вместо това? - person Nico Haase; 21.10.2020