首页 > 解决方案 > "composer install" 它不安装 laravel/ui 依赖

问题描述

我对 nodejs 或 npm 依赖项了解不多,因此任何见解都会有所帮助。

我们有一个构建我们的 docker 镜像的 CI,我们有一个使用节点镜像运行“npm install”的多构建阶段,到目前为止一切都很好。同样在下一个构建阶段,我们使用一个 composer 镜像,该镜像运行composer install --no-interaction --no-dev --no-autoloader --prefer-dist并利用列出的依赖项composer.jsoncomposer.lock文件。所有依赖项都已安装,除了lavarel/ui,作曲家似乎只是从文件中忽略了它的存在。

因此,在构建中很快就会在运行时发生错误composer dump-autoload --no-dev --optimize,告诉laravel/ui必须安装,(请参阅下面的错误输出)。

  ---> Running in 68b542e7f182
 Generating optimized autoload files
 > Illuminate\Foundation\ComposerScripts::postAutoloadDump
 > @php artisan package:discover --ansi
 In Auth.php line 56:
                                                                                
   In order to use the Auth::routes() method, please install the laravel/ui pa  
   ckage.                                                                       
                                                                                
 Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1
 The command '/bin/sh -c composer dump-autoload --no-dev --optimize' returned a non-zero code: 1

composer.json - 正如我所说,所有列出的依赖require项都已安装,除了laravel/ui. 如果我设置,问题是一样laravel/uirequire-dev

{
    "name": "laravel/laravel",
    "type": "project",
    "description": "The Laravel Framework.",
    "keywords": [
        "framework",
        "laravel"
    ],
    "license": "MIT",
    "require": {
        .
        .
        .
        "laravel/ui": "^2.0",
        "laravel/framework": "^7.0",
        "laravel/tinker": "^2.0",
        "lucascudo/laravel-pt-br-localization": "^1.1"
    },
    "require-dev": {
        "facade/ignition": "^2.0",
        "fzaninotto/faker": "^1.9.1",
        "mockery/mockery": "1.3.1",
        "nunomaduro/collision": "^4.1",
        "phpunit/phpunit": "^8.5"
    },

作曲家锁

{
            "name": "laravel/ui",
            "version": "v2.0.3",
            "source": {
                "type": "git",
                "url": "https://github.com/laravel/ui.git",
                "reference": "15368c5328efb7ce94f35ca750acde9b496ab1b1"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/laravel/ui/zipball/15368c5328efb7ce94f35ca750acde9b496ab1b1",
                "reference": "15368c5328efb7ce94f35ca750acde9b496ab1b1",
                "shasum": ""
            },

有谁知道可能是什么?

标签: node.jslaravelnpmcomposer-php

解决方案


如果要使用 laravel 默认身份验证,则需要 laravel/ui 包。

更多详情请访问:https ://laravel.com/docs/7.x/authentication

您应该删除您的供应商目录和 composer-lock.json 文件。

然后运行composer install命令,它可能会解决您的错误。


推荐阅读