Estoy tratando de instalar la API PHP de Coinbase pero requiere Composer:
https://github.com/coinbase/coinbase-php
Estoy buscando una solución PHP universal (quizás una función) que me permita instalar paquetes de composer directamente en mi servidor, sin tener que usar Composer.
Creo que los desarrolladores de Composer creen que están ayudando a la gente, pero en realidad hay miles de desarrolladores principiantes a los que la 'barrera del Composer' les impide aprender desarrollo web.
¿Realmente ayudaría si hubiera una solución flexible o algún enfoque donde pudiéramos instalar sin Composer? ¿Cómo puedo hacer esto?
Por favor, no responda con comentarios sarcásticos . Hay personas que no quieren usar Composer y no veo por qué deberíamos ser agrupados en un software específico de terceros para hacer desarrollo web.
fuente
include
los archivos.Respuestas:
El
composer.json
archivo enumera las dependencias. En tu ejemplo:A continuación, debe encontrar los paquetes correspondientes en el sitio de packagist . Repita el mismo proceso para cada dependencia: busque dependencias adicionales en sus
composer.json
archivos correspondientes y busque nuevamente.Cuando finalmente tenga una lista completa de los paquetes requeridos, solo necesita instalarlos todos uno por uno. En su mayor parte, es solo una cuestión de colocar los archivos en algún lugar del directorio de su proyecto. Pero también debe asegurarse de que PHP pueda encontrar las clases necesarias. Como no está utilizando el cargador automático de Composer, debe agregarlos a su propio cargador automático personalizado. Puede averiguar la información de los
composer.json
archivos respectivos , por ejemplo:Si no usa un cargador automático de clases, deberá averiguar las
require_once
declaraciones individuales . Probablemente necesite mucha prueba y error porque a la mayoría de los autores de bibliotecas no les importará documentar eso.Además, y en caso de que haya confusión sobre esto:
Composer no es perfecto y no se adapta a todos los casos de uso pero, cuando se trata de instalar una biblioteca que se base en él, sin duda es la mejor alternativa y es bastante decente.
Revisé otras respuestas que vinieron después de la mía. En su mayoría se dividen en dos categorías:
A menos que me falte algo, ninguno de ellos aborda las quejas expresadas por el OP:
fuente
Puede probar https://php-download.com/ que puede ayudarlo a descargar todas las dependencias la mayor parte del tiempo junto con la
vendor
carpeta. Promete compositor no requerido. Lo intenté yo mismo. Busca y crea todas las carpetas necesarias y las comprime para su descarga. Funciona perfectamente !!fuente
Estoy usando alojamiento compartido para un sitio web y no puedo ejecutar comandos allí. Además de ejecutar el compositor a través de la solicitud de script php que solicito a través del navegador, generalmente uso este flujo de trabajo:
hacer un archivo composer.json pegar en él los siguientes contenidos
Vaya al directorio con el shell de su elección (bash, git-bash, cmd, windows bash)
php composer.phar update
incluya en su proyecto php donde carga sus bibliotecas (modifique la ruta donde cargó el directorio del proveedor para que incluya ese archivo de carga automática)
De esta manera, obtiene el beneficio de la administración de dependencias y no tiene que incluir manualmente todos los miles de millones de archivos y descargar todas las dependencias manualmente, y actualizarlas es tan fácil como escribir
php composer.phar update
y luego reemplazar el directorio del proveedor en su servidor con el uno nuevo.fuente
Tuve que hacer esto para un servidor FTP al que no tenía acceso SSH. El sitio enumerado aquí funcionó, luego me di cuenta de que puede hacer una instalación del compositor en su propio servidor (usando la versión PHP de su objetivo), luego copiar todos los archivos.
fuente
Esta no es la solución definitiva, pero para mí fue de gran ayuda en la mayoría de los casos: https://github.com/Wilkins/composer-file-loader
Sé que la pregunta es antigua, pero espero que ayude a alguien.
fuente
Una solución alternativa que funcionó para mí (ya que php-download estaba inactivo) se puede hacer creando su propio pequeño descargador de compositor local.
c:\temp
y simplemente escriba la dependencia del compositor, por ejemplo:composer require league/oauth2-client
c:\temp
carpeta a su servidor web usando un programa FTPrequire("vendor/autoload.php");
fuente