Подтвердить что ты не робот

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

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

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

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

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

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

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

4b9b3361

Ответ 1

В composer.json файл перечислены зависимости. В вашем примере:

"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 и процедура установки командной строки для копирования и вставки для всех платформ.
  • Композитор может запускаться локально, а его вывод загружается только в другом месте. Вам не нужен SSH на вашем общем хостинге.
  • Команда, необходимая для установки библиотеки, может быть скопирована и вставлена ​​с веб-сайта пакета - даже если сопровождающий пакета не хотел документировать его, packagist.org генерирует его по умолчанию.

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


Я проверил другие ответы, которые пришли после моего. Они в основном подразделяются на две категории:

  • Установить библиотеку и написать с ней пользовательскую загрузку script
  • Использовать онлайн-интерфейс для Composer

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

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

Ответ 2

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

Ответ 3

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

Ответ 4

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

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

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

Ответ 5

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

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

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

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

    require_once('vendor/autoload.php');
    

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