【问题标题】:Laravel 7 - php artisan vendor:publish not listing correctlyLaravel 7 - php artisan vendor:发布未正确列出
【发布时间】:2020-07-22 18:55:51
【问题描述】:

在更新到 Laravel 7 的过程中,我在 composer.json 文件中添加了几个额外的包(在 composer.json 中列出的“require”和“require-dev”下Github 上 Laravel 7 存储库的文件,但在我运行 composer update 并更新了 composer.json 上的 Laravel 版本时没有添加/安装。

然后我运行 php artisan vendor:list 来列出哪些提供商仍需要发布。确实列出了上述软件包,但是,我安装的 每个其他 软件包也是如此(总共 16 个提供程序和标签)。而不是让我选择按 0-16 哪个提供程序/标签我希望发布(全部为零),操作只是在列出它们后中止

然后我通过专门指定新软件包来查看它们 - 例如 php artisan vendor:publish --provider="Facade\Ignition\IgnitionServiceProvider" - 然后它们被成功发布。

然后我再次运行 php artisan vendor:publish,果然,我曾经发布过的所有内容(包括现在成功发布的新包)都出现在列表中,并且操作被中止了一次再次。

为了让 php artisan vendor:publish 命令正常工作(无需专门指定提供者),我有:

  1. 添加了--force
  2. 清空缓存php artisan cache:clear
  3. 清空配置php artisan config:clear
  4. 将几个包添加到 app.config 中的提供者列表中,看看它是否会停止它们会从 vendor:publish 列表中消失。

该命令仍然不起作用...

编辑 以下是完整的中止错误响应:

[2020-12-16 01:17:01] 本地。错误:中止。 {"exception":"[object] (Symfony\Component\Console\Exception\MissingInputException(code: 0): Aborted. at C:\Users\james\Documents\outletdeviviendas\api\vendor\symfony\console\Helper\QuestionHelper .php:128) [堆栈跟踪] #0 C:\Users\james\Documents\outletdeviviendas\api\vendor\symfony\console\Helper\QuestionHelper.php(67): Symfony\Component\Console\Helper\QuestionHelper->doAsk(Object(Illuminate\Console\OutputStyle ), 对象(Symfony\Component\Console\Question\ChoiceQuestion)) #1 C:\Users\james\Documents\outletdeviviendas\api\vendor\symfony\console\Helper\QuestionHelper.php(470): Symfony\Component\Console\Helper\QuestionHelper->Symfony\Component\Console\Helper\{关闭}() #2 C:\Users\james\Documents\outletdeviviendas\api\vendor\symfony\console\Helper\QuestionHelper.php(70): Symfony\Component\Console\Helper\QuestionHelper->validateAttempts(Object(Closure), Object( Illuminate\Console\OutputStyle),对象(Symfony\Component\Console\Question\ChoiceQuestion)) #3 C:\Users\james\Documents\outletdeviviendas\api\vendor\symfony\console\Style\SymfonyStyle.php(355): Symfony\Component\Console\Helper\QuestionHelper->ask(Object(Symfony\Component\Console \Input\ArgvInput), 对象(Illuminate\Console\OutputStyle), 对象(Symfony\Component\Console\Question\ChoiceQuestion)) #4 C:\Users\james\Documents\outletdeviviendas\api\vendor\laravel\framework\src\Illuminate\Console\Concerns\InteractsWithIO.php(211): Symfony\Component\Console\Style\SymfonyStyle->askQuestion(Object (Symfony\Component\Console\Question\ChoiceQuestion)) #5 C:\Users\james\Documents\outletdeviviendas\api\vendor\laravel\framework\src\Illuminate\Foundation\Console\VendorPublishCommand.php(111): Illuminate\Console\Command->choice(Object(Symfony\Component \Console\Question\ChoiceQuestion), 数组) #6 C:\Users\james\Documents\outletdeviviendas\api\vendor\laravel\framework\src\Illuminate\Foundation\Console\VendorPublishCommand.php(98): Illuminate\Foundation\Console\VendorPublishCommand->promptForProviderOrTag() #7 C:\Users\james\Documents\outletdeviviendas\api\vendor\laravel\framework\src\Illuminate\Foundation\Console\VendorPublishCommand.php(73): Illuminate\Foundation\Console\VendorPublishCommand->determineWhatShouldBePublished() #8【内部函数】:Illuminate\Foundation\Console\VendorPublishCommand->handle() #9 C:\Users\james\Documents\outletdeviviendas\api\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php(37): call_user_func_array(Array, Array) #10 C:\Users\james\Documents\outletdeviviendas\api\vendor\laravel\framework\src\Illuminate\Container\Util.php(37): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}() #11 C:\Users\james\Documents\outletdeviviendas\api\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php(95): Illuminate\Container\Util::unwrapIfClosure(Object(Closure)) #12 C:\Users\james\Documents\outletdeviviendas\api\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php(39): Illuminate\Container\BoundMethod::callBoundMethod(Object(Illuminate\Foundation\Application ), 数组, 对象(闭包)) #13 C:\Users\james\Documents\outletdeviviendas\api\vendor\laravel\framework\src\Illuminate\Container\Container.php(592): Illuminate\Container\BoundMethod::call(Object(Illuminate\Foundation\Application ), 数组, 数组, NULL) #14 C:\Users\james\Documents\outletdeviviendas\api\vendor\laravel\framework\src\Illuminate\Console\Command.php(134): Illuminate\Container\Container->call(Array) #15 C:\Users\james\Documents\outletdeviviendas\api\vendor\symfony\console\Command\Command.php(258): Illuminate\Console\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput ), 对象(照明\控制台\输出样式)) #16 C:\Users\james\Documents\outletdeviviendas\api\vendor\laravel\framework\src\Illuminate\Console\Command.php(121): Symfony\Component\Console\Command\Command->run(Object(Symfony \Component\Console\Input\ArgvInput), 对象(Illuminate\Console\OutputStyle)) #17 C:\Users\james\Documents\outletdeviviendas\api\vendor\symfony\console\Application.php(911): Illuminate\Console\Command->run(Object(Symfony\Component\Console\Input\ArgvInput),对象(Symfony\Component\Console\Output\ConsoleOutput)) #18 C:\Users\james\Documents\outletdeviviendas\api\vendor\symfony\console\Application.php(264): Symfony\Component\Console\Application->doRunCommand(Object(Illuminate\Foundation\Console\VendorPublishCommand),对象(Symfony\Component\Console\Input\ArgvInput),对象(Symfony\Component\Console\Output\ConsoleOutput)) #19 C:\Users\james\Documents\outletdeviviendas\api\vendor\symfony\console\Application.php(140): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput ), 对象(Symfony\Component\Console\Output\ConsoleOutput)) #20 C:\Users\james\Documents\outletdeviviendas\api\vendor\laravel\framework\src\Illuminate\Console\Application.php(93): Symfony\Component\Console\Application->run(Object(Symfony\Component \Console\Input\ArgvInput), 对象(Symfony\Component\Console\Output\ConsoleOutput)) #21 C:\Users\james\Documents\outletdeviviendas\api\vendor\laravel\framework\src\Illuminate\Foundation\Console\Kernel.php(129): Illuminate\Console\Application->run(Object(Symfony\Component \Console\Input\ArgvInput), 对象(Symfony\Component\Console\Output\ConsoleOutput)) #22 C:\Users\james\Documents\outletdeviviendas\api\artisan(37): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\控制台\输出\控制台输出)) #23 {主}

【问题讨论】:

  • 您找到解决方案了吗?我问是因为我有同样的问题。
  • 你试过composer dump-autoload吗?也许您可以尝试删除供应商文件夹并重新创建composer install
  • 如果您在 vendor:publish 崩溃后发布日志文件可能会有所帮助。

标签: php laravel vendor


【解决方案1】:

这个问题没有具体说明哪里出了问题,所以很难解决。如果您在崩溃后在vendor:publish 上发布日志文件可能会有所帮助,但您可以查看日志以获取详细的错误报告,它肯定会对您有所帮助.日志位于storage 目录中。如果您希望 laravel 为您显示完整的错误而不是神秘的 'Whoops' 消息,请确保在您的 .env APP_ENV=local 在那里并且您的 APP_DEBUG=true 或者您可以在您的 config/app.php 中调整它就像

'env' => env('APP_ENV', 'local'),
'debug' => env('APP_DEBUG', true),

还可以尝试从bootstrap 文件夹中手动删除packages.php, services.php, config.php ,然后尝试composer dump-autoload 或通过删除vendor 文件夹再次通过composer install 安装软件包。

【讨论】:

  • 感谢萨达姆提供了非常翔实的答复。我现在将编辑原始帖子并添加日志响应。
【解决方案2】:

您需要升级到 Laravel 7 或更高版本 运行以下命令创建 Laravel 项目版本 7

composer create-project --prefer-dist laravel/laravel:^7.0 Project Name

或者,如果您想在不安装新应用程序的情况下升级,请按照以下步骤操作 在以下链接中:https://laravel.com/docs/5.7/upgrade

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-09
    • 2017-03-19
    • 2015-05-28
    • 2020-06-16
    • 1970-01-01
    • 1970-01-01
    • 2021-05-22
    相关资源
    最近更新 更多