symfony/profiler-pack 在安装后立即被删除

Tar*_*ych 6 php symfony composer-php symfony-flex symfony5

我使用命令创建了一个项目 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!
Run Code Online (Sandbox Code Playgroud)

为什么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"
}
Run Code Online (Sandbox Code Playgroud)

yiv*_*ivi 9

*-packSymfony的包是“元套餐”,并在安装后,他们总是“删除”

它们的唯一目的是同时安装一堆一级相关的依赖,有时还会执行一些flex recipes。

当您require profiler-pack,实际添加到您的依赖项中的是:

"symfony/stopwatch": "5.1.*",
"symfony/twig-bundle": "5.1.*",
"symfony/web-profiler-bundle": "5.1.*",
Run Code Online (Sandbox Code Playgroud)

您可以在 packagist 上检查确认这一点

或者,例如,如果您安装,orm-pack您将在第一级安装这些(例如,这些现在是您项目的依赖项,而不是包的依赖项):

"composer/package-versions-deprecated": "^1.11",
"doctrine/doctrine-bundle": "^2.1",
"doctrine/doctrine-migrations-bundle": "^3.0",
"doctrine/orm": "^2.7",
Run Code Online (Sandbox Code Playgroud)

过去,这些包作为第一级依赖项安装,除非您将--unpack标志传递给require,或者您unpack在安装后执行。现在默认情况下这些包是解包的,这更好,否则“真正的”依赖项隐藏在 Symfony“元包”后面。

profiler-pack安装后删除的事实是完全正常的行为。你不能保留那个包,而且它也不会带来任何运行时特性。


您正在寻找的“调试”选项卡由不同的包提供,如msg 在评论中所述。它由 提供symfony/debug-bundle,您似乎已经安装了它。尽管安装了它,但它似乎不存在,您的安装可能由于某种原因过时。

但更有可能的是,您的bundles.php文件中未启用该包。确保它在那里:

Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true, 'test' => true],
Run Code Online (Sandbox Code Playgroud)