symfony/profiler-pack 在安装后立即被删除
Posted
技术标签:
【中文标题】symfony/profiler-pack 在安装后立即被删除【英文标题】:symfony/profiler-pack is being removed right after installation 【发布时间】:2020-12-21 23:50:03 【问题描述】:我使用命令composer create-project symfony/website-skeleton my_project_name
创建了一个项目
我想安装symfony/profiler-pack
。为什么?因此,探查器中没有“调试”选项卡。
我试过用composer require --dev symfony/profiler-pack
,输出是
Using version ^1.0 for symfony/profiler-pack
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Restricting packages listed in "symfony/symfony" to "5.1.*"
Package operations: 1 install, 0 updates, 0 removals
As there is no 'unzip' command installed zip files are being unpacked using the php zip extension.
This may cause invalid reports of corrupted archives. Besides, any UNIX permissions (e.g. executable) defined in the archives will be lost.
Installing 'unzip' may remediate them.
- Installing symfony/profiler-pack (v1.0.5): Loading from cache
Writing lock file
Generating optimized autoload files
composer/package-versions-deprecated: Generating version class...
composer/package-versions-deprecated: ...done generating version class
90 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
Executing script cache:clear [OK]
Executing script assets:install public [OK]
Unpacked symfony/profiler-pack dependencies
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Package operations: 0 installs, 0 updates, 1 removal
- Removing symfony/profiler-pack (v1.0.5)
89 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
为什么symfony/profiler-pack
在安装后立即被删除?
我的composer.json
的一部分:
"require-dev":
"symfony/browser-kit": "^5.1",
"symfony/css-selector": "^5.1",
"symfony/debug-bundle": "^5.1",
"symfony/maker-bundle": "^1.0",
"symfony/monolog-bundle": "^3.0",
"symfony/phpunit-bridge": "^5.1",
"symfony/stopwatch": "^5.1",
"symfony/twig-bundle": "^5.1",
"symfony/var-dumper": "^5.1",
"symfony/web-profiler-bundle": "^5.1"
【问题讨论】:
评论不用于扩展讨论。如有任何不符合社区编辑规则的问题,请发送至Meta Stack Overflow。 【参考方案1】:*-pack
Symfony 包是“元包”,安装后它们总是被“删除”
他们唯一的目的就是同时安装一堆一级相关的依赖,有时还会执行一些flex recipe。
当您require profiler-pack
时,实际添加到您的依赖项的是:
"symfony/stopwatch": "5.1.*",
"symfony/twig-bundle": "5.1.*",
"symfony/web-profiler-bundle": "5.1.*",
你可以检查确认这个on packagist。
或者例如,如果您安装orm-pack
,您将在第一级安装这些(例如,这些现在是您的项目的依赖项,而不是包的依赖项):
"composer/package-versions-deprecated": "^1.11",
"doctrine/doctrine-bundle": "^2.1",
"doctrine/doctrine-migrations-bundle": "^3.0",
"doctrine/orm": "^2.7",
在过去,这些软件包作为第一级依赖项安装,除非您将--unpack
标志传递给require
,或者您在安装后执行unpack
。现在这些包默认解包,这样更好,因为否则“真正的”依赖项隐藏在 Symfony“元包”后面。
profiler-pack
在安装后被删除是完全正常的行为。你不能保留那个包,它也不会带来任何运行时特性。
如msg in the comments 所述,您正在寻找的“调试”选项卡由不同的软件包提供。它由symfony/debug-bundle
提供,您似乎已经安装了它。尽管安装了它,但它似乎不存在,您的安装可能由于某种原因而过时。
但更有可能的是,您的 bundles.php
文件中未启用捆绑包。确保它在那里:
Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true, 'test' => true],
【讨论】:
您可以在第一个屏幕截图中看到“调试”选项卡here。我完全确定 Symfony 4 中存在“调试”选项卡。*。 是的,在那个屏幕截图中。虽然不知道背后是什么。但这与安装后删除“profiler-pack”完全无关。恐怕我这台机器上没有任何 Sf4 项目可以测试。 @Tarasovych “调试”选项卡是由symfony/debug-bundle
提供的DataCollector
,而不是profiler-pack
的一部分。您已在显示的作曲家 sn-p 中声明了它,并且应该由 flex 自动激活。您可以仔细检查config/bundles.php
,尝试清除缓存或删除symfony.lock
并运行composer install
。
谢谢@msg。这听起来可能很傻,但我认为我从来没有安装过那个捆绑包(现在这样做只是为了看看它是关于什么的)。你介意我在我的答案中加入那一点吗?
@yivi ofc,继续。它只是从dump
调用中删除输出并将它们显示在该窗格中(或调试栏本身)。以上是关于symfony/profiler-pack 在安装后立即被删除的主要内容,如果未能解决你的问题,请参考以下文章