Symfony 安装已由其他依赖项安装的依赖项

Symfony 安装已由其他依赖项安装的依赖项,symfony,dependencies,composer-php,yarnpkg,Symfony,Dependencies,Composer Php,Yarnpkg,这是我第一次问这样的问题,因为我找不到任何与我的问题匹配的关键字 我有一个Symfony应用程序,我正在使用与composer一起下载的easyadmin包。我将以easyadmin为例解释这些事实,但我的问题也可能在另一个捆绑包上 因此,easyadmin包有几个依赖项,如jquery v2.2.0、bootstrap v3.3.6、Respond.js v1.4.2、select2 4.0.1等。。。easyadmin的依赖关系到目前为止还不是问题。事实上,我现在需要使用bootstrap的

这是我第一次问这样的问题,因为我找不到任何与我的问题匹配的关键字

我有一个Symfony应用程序,我正在使用与composer一起下载的easyadmin包。我将以easyadmin为例解释这些事实,但我的问题也可能在另一个捆绑包上

因此,easyadmin包有几个依赖项,如jquery v2.2.0、bootstrap v3.3.6、Respond.js v1.4.2、select2 4.0.1等。。。easyadmin的依赖关系到目前为止还不是问题。事实上,我现在需要使用bootstrap的最新版本,即4.1.1

和其他前端依赖项一样,我使用的是纱线。我的所有前端依赖项都位于名为dependencies的文件夹中,该文件夹位于 我的项目的公用/资产文件夹

我已经尝试用Thread下载了bootstrap的最新版本,但现在我的项目中加载了两个版本的bootstrap。这是个问题吗

为了用javascript文件说明这一点,因为我的问题涉及js和css文件,我有一个内部带有easyadmin的供应商文件夹:

以及包含项目所有依赖项的“我的文件夹依赖项”:

- public
|
--- asset
  |
  --- dependencies
    |
    --- bootstrap.min.js
在我的理解中,在这种情况下,我必须在我的项目中有两个版本的引导。因为easyadmin使用BootstrapV3作为其功能,而我的项目需要Bootstrap4。我说得对吗

例如,如果easyadmin使用的是bootstrap版本4,那么我是否必须将bootstrap 4添加到我的项目中,或者我应该使用easyadmin的bootstrap版本?我很困惑


提前感谢您对未来的回答。

在您的示例中,两个版本的引导都没有问题,因为EasyAdminBundle附带这些依赖项,这些依赖项隐藏在包中。这些将被复制或符号链接到项目的公用文件夹中。这意味着,只要您不覆盖其中任何一个,并且不在前端逻辑中意外地将它们混在一起,您就应该没事了。不要混淆这些内容应该很容易,因为您只需要公共/资产文件夹中的文件,这些文件不会干扰EasyAdminBundle创建的文件


您不应该依赖EasyAdminBundle的js和css,因为您无法控制它的更新方式。因此,即使EasyAdminBundle在某个时候移动到bootstrap4,我建议将前端依赖项与EasyAdminBundle提供的依赖项分开。此建议可能不适用于提供资产的每个捆绑包。

请记住,EasyAdmin不是Symfony的一部分。这是一个包裹。Symfony不包含任何CSS/JS库。如果您需要使用EasyAdmin,您将在管理路由上使用Bootstrap 3。如果不是一个只加载一次所有前端lib的应用程序,您可以在前端视图中使用bootstrap4。只需为配置视图模板即可。如果是单页应用程序或类似应用程序,则必须使用Bootstrap 3以避免EasyAdmin出现问题。看看文档,了解更多关于前端加载libs的信息。[谢谢@dbrumann,这就是我想要的解释。我认为复制css/js文件是一种不好的做法,但正如你所说的,我们有时就是不能这样做。
- public
|
--- asset
  |
  --- dependencies
    |
    --- bootstrap.min.js