Requiere código de github en compositor. json lanzando TransporteExcepción

He forjado un proyecto en mi propio repo, hecho una actualización, y estoy tratando de requerirlo en otro proyecto PHP con compositor. Json.

Añadí un bloque necesario para mi (pública) repo:

"repositories":  [
    {
        "type": "vcs",
        "name": "geoff-maddock/laravel-calendar",
        "url": "https://github.com/geoff-maddock/laravel-calendar"
    }
  ],

Y luego requiero el código en el bloque requerido:

    "geoff-maddock/laravel-fullcalendar": "^1.3.4",

Sin embargo, cuando ejecuto la actualización del compositor, obtengo un error como:

gmaddock@Wrecked:/var/www/dev-events$ composer update Carga de repositorios de compositores con información de paquete

  [Composer\Downloader\TransportException]                                                                                 
  The "https://api.github.com/repos/geoff-maddock/laravel-calendar" file could not be downloaded (HTTP/1.1 404 Not Found)  
                                                                                                                           

No pude encontrar nada en este error específico. No estoy seguro por qué traduce mi URL en api, como si golpearas esa URL directamente, no funcionará. ¿Alguna sugerencia sobre lo que podría estar pasando?

El compositor. json code is:

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "repositories":  [
        {
            "type": "vcs",
            "name": "geoff-maddock/laravel-calendar",
            "url": "https://github.com/geoff-maddock/laravel-calendar"
        }
      ],
    "require": {
        "laravel/framework": "^8.0",
        "nunomaduro/collision": "^5.0",
        "laravelcollective/html": "^6.0",
        "laravel/socialite": "~5.0",
        "intervention/image": "^2.5",
        "suin/php-rss-writer": "^1.5",
        "laravel/tinker": "^2.5",
        "sentry/sentry": "^2.3",
        "sentry/sentry-laravel": "^1.8",
        "alt-three/bus": "^4.0",
        "laravel-notification-channels/twitter": "^5.1",
        "predis/predis": "^1.1",
        "pusher/pusher-php-server": "^4.1",
        "eluceo/ical": "^0.16.0",
        "geoff-maddock/laravel-fullcalendar": "^1.3.4",
        "facade/ignition": "^2.5.3",
        "laravel/ui": "^3.0",
        "orangehill/iseed": "^2.6",
        "guzzlehttp/guzzle": "^7.0.1"
    },
 },
    "require-dev": {
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "^1.0",
        "phpunit/phpunit": "^9.0",
        "phpspec/phpspec": "~6.0",
        "symfony/dom-crawler": "~3.1",
        "laravel/dusk": "^6.0",
        "filp/whoops": "~2.0",
        "barryvdh/laravel-ide-helper": "^2.8",
        "nunomaduro/larastan": "^0.6.9"
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/",
            "Database\\Factories\\": "database/factories/",
            "Database\\Seeders\\": "database/seeders/"
        },
        "files": [
                    "app/Http/helpers.php",
                    "app/Http/Flash.php"
                ]
    },
    "autoload-dev": {
        "classmap": [
            "tests/TestCase.php"
        ],
        "psr-4": {
            "Tests\\": "tests/"
        },
        "files": ["tests/utilities/functions.php"]
    },
    "scripts": {
        "post-install-cmd": [
            "php-latest artisan clear-compiled"
        ],
        "post-update-cmd": [
            "php-latest artisan clear-compiled"
        ],
        "post-create-project-cmd": [
            "php-latest -r \"copy('.env.example', '.env');\"",
            "php-latest artisan key:generate"
        ],
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover"
        ],
        "phpstan": [
            "./vendor/bin/phpstan analyse"
        ],
        "tests": [
            "./vendor/bin/phpunit"
        ]
    },
    "config": {
        "preferred-install": "dist"
    }
}

Pregunta hecha hace 3 años, 5 meses, 1 días - Por codecrusaderx


2 Respuestas:

  • El error que estás viendo indica que Composer está tratando de acceder a una URL que no existe. Parece que hay un problema con la URL del repositorio que estás intentando requerir.

    En tu archivo composer.json has definido el repositorio de la siguiente manera:

    json
    "repositories": [
        {
            "type": "vcs",
            "name": "geoff-maddock/laravel-calendar",
            "url": "https://github.com/geoff-maddock/laravel-calendar"
        }
    ],
    

    Sin embargo, al requerir el paquete geoff-maddock/laravel-fullcalendar, estás referenciando un repositorio diferente al que has definido. Esto puede ser la causa del error que estás experimentando.

    Para corregir esto, asegúrate de que el nombre y la URL del repositorio en la sección repositories coincidan con el repositorio desde el cual estás intentando requerir el paquete. En este caso, deberías cambiar el nombre y la URL del repositorio en tu composer.json por lo siguiente:

    json
    "repositories": [
        {
            "type": "vcs",
            "name": "geoff-maddock/laravel-fullcalendar",
            "url": "https://github.com/geoff-maddock/laravel-fullcalendar"
        }
    ],
    

    Una vez que hayas realizado este cambio, vuelve a ejecutar composer update para ver si el error ha sido solucionado.

    Es importante asegurarte de que la URL del repositorio sea la correcta y esté funcionando correctamente para que Composer pueda descargar los archivos necesarios.

    Respondida el Dec 19, 2020 a las 03:24 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • La URL que has proporcionado en tu archivo composer.json es incorrecta. Estás usando la URL de la API de GitHub, que no es la URL correcta para requerir un repositorio.

    La URL correcta para requerir un repositorio de GitHub es:

    
    https://github.com/geoff-maddock/laravel-calendar.git
    

    Actualiza tu archivo composer.json con la URL correcta:

    json
    {
        // ...
        "repositories": [
            {
                "type": "vcs",
                "name": "geoff-maddock/laravel-calendar",
                "url": "https://github.com/geoff-maddock/laravel-calendar.git"
            }
        ],
        // ...
    }
    

    Una vez que hayas actualizado tu archivo composer.json, ejecuta el comando composer update nuevamente para intentar instalar el paquete.

    Respondida el Dec 19, 2020 a las 03:34 - por Gemini

    Votos positivos: 0 | Votos negativos: 0