Не могу установить не единую библиотеку, как исправить?

Ссылка скопирована
28 апреля 2026 1 ответ

Не могу установить библиотеки ларавел. Прогуглил все, что можно было, устанавливаю библиотеки вроде тоже правилильно, через композер:

composer requere

Потом обновляю зависимости:

composer dump-autoload

Подкючаю тоже верно, через use

use SwooleRuntime;

В файликах композера - библиотека указана как установлена, в ventor - тоже файлы либы есть, но все равно выдает ошибку

*подключаемая библиотека* not found

Дополнительно:

Но что это за бибилиотека ты нам не скажешь, да? Мы же тут ради того, чтобы в угадайку играть...

  • JhaoDa, любая библиотека которую я пытаюсь установить - ловит такую ошибку. Что Swoole, которую я указал в вопросе, что другие. Например gueezlee. Симпотомы одинаковые
  • Герман Коффман, значит, ты некорректно в своём коде поключаешь композер. Или вообще не подключаешь. Где код?
  • JhaoDa, к примеру
    <?php declare(strict_types=1);  namespace AppModelsModulesApiModels;  use IlluminateDatabaseEloquentModel; use IlluminateSupportFacadesHttp; use IlluminateSupportCollection; use IlluminateSupportFacadesLog; use SwooleRuntime; use SwooleCoroutineHttpClient;  class ApiGetter extends Model {     protected string $apiUrl;     protected string $baseUrl = 'https://api.cargo.tech/v1/';     protected int $limit;      public function __construct($requestUrl, $limit)     {         $this->apiUrl = $this->baseUrl . $requestUrl;         $this->limit = $limit;     }      public function getItems(int $itemsCount, int $offset = 0): Collection     {         $url = $this->apiUrl;         $limit = $this->limit;         $data = new Collection();          SwooleRuntime::enableCoroutine();          // Создаем массив для хранения корутин         $coroutines = [];          for ($page = $offset; $page < $offset + $itemsCount; $page++) {             $urlWithParams = $url . "?limit={$limit}&offset=$page";              // Создаем корутину для каждого запроса             $coroutines[] = go(function () use ($urlWithParams) {                 $client = new Client($urlWithParams);                 $client->get();                  if ($client->statusCode === 200) {                     $response = $client->body;                     $responseData = json_decode($response, true);                     $data->push(...$responseData['data']);                 }                  $client->close();             });         }          // Дожидаемся завершения всех корутин         foreach ($coroutines as $coroutine) {             $coroutine->join();         }          return $data;     }

    <?php declare(strict_types=1); namespace AppModelsModulesApiModels; use IlluminateDatabaseEloquentModel; use IlluminateSupportFacadesHttp; use IlluminateSupportCollection; use IlluminateSupportFacadesLog; use SwooleRuntime; use SwooleCoroutineHttpClient; class ApiGetter extends Model { protected string $apiUrl; protected string $baseUrl = 'https://api.cargo.tech/v1/'; protected int $limit; public function __construct($requestUrl, $limit) { $this->apiUrl = $this->baseUrl . $requestUrl; $this->limit = $limit; } public function getItems(int $itemsCount, int $offset = 0): Collection { $url = $this->apiUrl; $limit = $this->limit; $data = new Collection(); SwooleRuntime::enableCoroutine(); // Создаем массив для хранения корутин $coroutines = []; for ($page = $offset; $page < $offset + $itemsCount; $page++) { $urlWithParams = $url . "?limit={$limit}&offset=$page"; // Создаем корутину для каждого запроса $coroutines[] = go(function () use ($urlWithParams) { $client = new Client($urlWithParams); $client->get(); if ($client->statusCode === 200) { $response = $client->body; $responseData = json_decode($response, true); $data->push(...$responseData['data']); } $client->close(); }); } // Дожидаемся завершения всех корутин foreach ($coroutines as $coroutine) { $coroutine->join(); } return $data; }

  • Герман Коффман, и всё? Ты понимаешь, что автолоад композера надо подключать в приложении? Или не понимаешь? Где оно? Нафига мне твой класс?
  • JhaoDa, вы про копозер.джисон? Там библиотека подключена:

    {
    "name": "laravel/laravel",
    "type": "project",
    "description": "The skeleton application for the Laravel framework.",
    "keywords": ["laravel", "framework"],
    "license": "MIT",
    "require": {
    "php": "^8.1",
    "amphp/amp": "^3.0",
    "amphp/http-client": "^5.0",
    "guzzlehttp/guzzle": "^7.8",
    "laravel/framework": "^10.10",
    "laravel/sanctum": "^3.2",
    "laravel/tinker": "^2.8",
    "swooletw/laravel-swoole": "^2.13"
    },
    "require-dev": {
    "fakerphp/faker": "^1.9.1",
    "laravel/pint": "^1.0",
    "laravel/sail": "^1.18",
    "mockery/mockery": "^1.4.4",
    "nunomaduro/collision": "^7.0",
    "phpstan/phpstan": "^1.10",
    "phpunit/phpunit": "^10.1",
    "spatie/laravel-ignition": "^2.0"
    },
    "autoload": {
    "psr-4": {
    "App\": "app/",
    "Database\Factories\": "database/factories/",
    "Database\Seeders\": "database/seeders/"
    }
    },
    "autoload-dev": {
    "psr-4": {
    "Tests\": "tests/"
    }
    },
    "scripts": {
    "post-autoload-dump": [
    "Illuminate\Foundation\ComposerScripts::postAutoloadDump",
    "@php artisan package:discover --ansi"
    ],
    "post-update-cmd": [
    "@php artisan vendor:publish --tag=laravel-assets --ansi --force"
    ],
    "post-root-package-install": [
    "@php -r "file_exists('.env') || copy('.env.example', '.env');""
    ],
    "post-create-project-cmd": [
    "@php artisan key:generate --ansi"
    ]
    },
    "extra": {
    "laravel": {
    "dont-discover": []
    }
    },
    "config": {
    "optimize-autoloader": true,
    "preferred-install": "dist",
    "sort-packages": true,
    "allow-plugins": {
    "pestphp/pest-plugin": true,
    "php-http/discovery": true
    }
    },
    "minimum-stability": "stable",
    "prefer-stable": true
    }

  • Герман Коффман, Фрагменты кода надо размещать в виде текста и оборачивать тэгом code для корректного отображения. Удобно делать кнопкой </>
    Это обязательно, см.п.3.8 Регламента.
    Сюда же относится traceback, ввод и вывод в консоли и другая структурированная текстовая инфа.
  • Ответы:

    Is there any prerequisite to use this package?
    Yes, Swoole extension(>1.9.3) and PHP 7.2 are required to use this package.

    https://github.com/swooletw/laravel-swoole/wiki/Z4.-Q&A

    Класс, который у вас не находится, реализуется не в ларавелевском коннекторе, а в расширении, которое нужно устанавливать отдельно.

    Проблема в вашем неумении читать документацию, всё остальное работает как должно.

    • Класс, который у вас не находится, реализуется не в ларавелевском коннекторе, а в расширении, которое нужно устанавливать отдельно.

      Расширение у swole - у меня установлено, так что я не понимаю смысл ваших слов. Это было написано в тексте вопроса.

      Проблема в вашем неумении читать документацию, всё остальное работает как должно.

      Я думаю, что без таких неприятных слов можно было бы обойтись. Как минимум не из-за такта, а из-за того факта, что документация была мной прочитана, а ссылка которую вы отправили - не является документацией. Это Q&A, те вопросы и ответы. Ничего общего с документацией, как и с решением, которым ваш ответ был отмечен - это не имеет.

    • Это было написано в тексте вопроса.

      Покажите, пожалуйста, это место — я не вижу.

      А ещё лучше — покажите, что оно указано как подключенное в phpinfo().

    • Прошу.
      Подключение из phpinfo

      swoole
      Swoole enabled
      Author Swoole Team
      Version 5.1.0
      Built Oct 24 2023 14:35:35
      coroutine enabled with boost asm context
      kqueue enabled
      rwlock enabled
      http2 enabled
      json enabled
      pcre enabled
      zlib 1.2.11
      brotli E16781312/D16781312
      async_redis enabled

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Анна SEO Ответ

    Для начала, давайте разберем основные причины, по которым у вас может возникать проблема с установкой библиотек. Одной из возможных причин может быть неправильно настроенный менеджер зависимостей, такой как Composer.

    Первым шагом я рекомендую вам проверить версию PHP, которую вы используете, и сравнить ее с требованиями библиотеки, которую вы пытаетесь установить. Если версия PHP не соответствует требованиям, вам необходимо обновить PHP до необходимой версии.

    Вторым шагом будет проверка вашего менеджера зависимостей. Убедитесь, что у вас установлен Composer и он работает корректно. Если нет, вам необходимо установить Composer и настроить его, следуя официальной документации.

    Третьим шагом будет проверка наличия необходимых расширений PHP. Многие библиотеки требуют определенные расширения PHP для работы. Убедитесь, что у вас установлены все необходимые расширения, иначе установка библиотеки будет невозможна.

    Четвертым шагом будет проверка прав доступа к директории, в которую вы пытаетесь установить библиотеку. Убедитесь, что у вас есть достаточные права доступа для записи в эту директорию.

    Если после всех этих шагов проблема все еще не решена, попробуйте обновить Composer до последней версии и повторите попытку установки библиотеки.

    Вот пример кода на PHP для установки библиотеки с использованием Composer:

    composer require vendor/package

    composer require vendor/package

    Надеюсь, что эти рекомендации помогут вам решить проблему с установкой библиотек и вы сможете успешно продолжить разработку вашего проекта. Если у вас возникнут дополнительные вопросы, не стесняйтесь обращаться за помощью!

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно