Как установить пакеты PHP Composer без Composer?

Я пытаюсь установить API Coinbase PHP, но для этого требуется Composer:

https://github.com/coinbase/coinbase-php

Я ищу универсальное PHP-решение (возможно, функцию), позволяющее мне устанавливать пакеты composer непосредственно на мой сервер без использования Composer.

Я думаю, что разработчики Composer считают, что они помогают людям, но на самом деле есть тысячи начинающих разработчиков, которые заблокированы из изучение веб-разработки с помощью "барьера композитора".

Это действительно помогло бы, если бы было гибкое решение или какой-то подход, где мы могли бы установить без Composer? Как я могу это сделать?

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

5 ответов


на списки зависимостей. В вашем примере:

"require": {
    "php": ">=5.5.0",
    "guzzlehttp/guzzle": "^6.0",
    "psr/http-message": "^1.0",
    "psr/log": "^1.0"
},

затем вы должны найти соответствующие пакеты в packagist. Повторите тот же процесс для каждой зависимости: найдите дополнительные зависимости в соответствующих composer.json файлы и снова поиск.

когда у вас, наконец, есть полный список необходимых пакетов, вам нужно только установить их все один за другим. По большей части, это просто вопрос удаление файлов где-то в каталоге проекта. Но вы также должны убедиться, что PHP может найти необходимые классы. Поскольку вы не используете загрузчик Composer, вам нужно добавить их в свой собственный загрузчик. Вы можете выяснить информацию из соответствующего composer.json файлы, например:

"autoload": {
    "psr-4": { "Coinbase\Wallet\": "src/" }
},

если вы не используете загрузчик класса, вам нужно будет выяснить индивидуальный require_once заявления. Вероятно, вам понадобится много проб и ошибок, потому что большинство авторов библиотеки мне все равно, что это будет.

кроме того, и на всякий случай есть путаница об этом:

  • Composer имеет официальный установщик GUI для Windows и скопировать и вставить процедура установки командной строки для всех платформ.
  • Composer можно запустить локально, а его вывод просто загружен в другом месте. Вам не нужен SSH в вашем общем хостинге.
  • команду, необходимую для установки библиотеки, можно скопировать и вставить из веб-сайт пакета-даже если сопровождающий пакета не удосужился его документировать, packagist.org генерирует его по умолчанию.

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


Я проверил другие ответы, которые пришли после меня. В основном они делятся на две категории:--9-->

  1. установите библиотеку и напишите пользовательский скрипт загрузки с ним
  2. используйте онлайн веб-интерфейс для Composer

если я чего-то не упускаю, ни один из них не обращается к жалобам, выраженным OP:

  • обучение
  • использование стороннего программного обеспечения
  • возможность разработки прямо на сервере (с использованием SSH, я полагаю)
  • потенциально глубокое дерево зависимостей

вы можете попробовать https://php-download.com/, который может помочь вам загрузить все зависимости большую часть времени вместе с . Обещать композитору не требуется. Попробовал сам. Он находит и создает все необходимые папки и молнии для загрузки. Отлично работает !!


Я должен был сделать это для FTP-сервера, к которому у меня не было доступа SSH. Сайт, указанный здесь, работал, затем я понял, что вы можете просто установить composer на свой собственный сервер (используя PHP-версию вашей цели), а затем скопировать все файлы.


Это не окончательное решение, но для меня это было большой помощью для большинства случаев: https://github.com/Wilkins/composer-file-loader

позволяет загружать composer.файл json так же, как и composer. Это позволит вам загрузить composer.файл json без композитора (так теоретически PHP 5.2 достаточно)

Я знаю, что вопрос старый, но я надеюсь, что это поможет кому-то.


Я использую общий хостинг для веб-сайта и не могу выполнять команды там. Помимо запуска composer через php-скрипт запроса, который я запрашиваю через браузер, я обычно использую этот рабочий процесс:

  • убедитесь, что php установлен локально.
  • создать папку на рабочем столе.
  • скачать composer.фар отhttps://getcomposer.org/download/ (под заголовком *Скачать Инструкцию) и поместите его в справочник.
  • создать файл композитор.в JSON вставьте в него следующее содержимое

     {
         "require": {
             "coinbase/coinbase": "~2.0"
         }
     }
    
  • перейдите в каталог с оболочкой по вашему выбору (bash, git-bash, cmd, windows bash)

  • тип php composer.phar update screenshot of bash output
  • загрузите каталог поставщика на свой веб-сервер через ftp или любой механик, который вы используете.
  • включить в свой php-проект, где вы загружаете библиотеки (измените путь к месту загрузки каталога поставщика, чтобы он включал этот файл автозапуска)

    require_once('vendor/autoload.php');
    

таким образом, вы получаете преимущество управления зависимостями, и вам не нужно вручную включать все gazillion файлов и загружать все зависимости вручную, а их обновление так же просто, как печатать php composer.phar update а затем заменить dir поставщика на вашем сервере на новый.