【问题标题】:Composer installs jQuery components in wrong directoryComposer 将 jQuery 组件安装在错误的目录中
【发布时间】:2014-10-30 09:33:10
【问题描述】:

我正在尝试在 CakePHP 应用程序 composer.json 中通过 Composer 安装 jQuery 组件:

{
    "name": "affiliate",
    "require": {
        "cakephp/cakephp": "2.5.*",
        "cakephp/debug_kit": "2.2.*@dev",
        "cakedc/utils": "dev-develop",
        "cakedc/search": "dev-develop",
        "friendsofcake/crud": "3.*",
        "components/jquery": "2.*"
    },
    "config": {
        "vendor-dir": "Vendor/"
    }
}

它会在app/Vendor/components/jquery 中安装一些文件,但它也会在APP 的根目录-app/components/jquery 中创建和安装一些文件。我想在 Vendor one 中拥有所有内容,我该如何解决?

【问题讨论】:

    标签: cakephp composer-php


    【解决方案1】:

    components/jquery 包使用component-installer,它可以从您的composer.json 中读取指定的component-dir 设置,这是您要放置下载组件的位置 - 例如在您的web/assets 文件夹中:

    {
        "require": {
            "components/jquery": "*"
        },
        "config": {
            "component-dir": "web/assets"
        }
    }
    

    要了解更多信息,请查看文档here

    然后,您可以将那些在 web/assets 中下载的组件文件添加到您的 .gitignore 中,这样您就不会添加由包管理器加载的文件。

    如果您不喜欢这种方法,那么另一种选择是您可以将自己的软件包存储库添加到您的 composer.json,如下所示:

    {
        "repositories": [
            {
                "type": "package",
                "package": {
                    "name": "jquery/jquery",
                    "version": "2.1.1",
                    "dist": {
                        "url": "http://code.jquery.com/jquery-2.1.1.js",
                        "type": "file"
                    }
                }
            }
        ],
        "require": {
            "jquery/jquery": "2.1.1"
        }
    }
    

    使用这种方法,composer 会将 JS 文件下载到 vendor/jquery/jquery/jquery-2.1.1.js - 然后您可以从您的 www 根目录添加符号链接。

    【讨论】:

    • 完美,谢谢!我选择了第一个解决方案,因此component/jquery 实际上是ivaynberg/select2 的依赖项,因此只更改component-dir 更容易。
    • 希望我们可以将这些东西通过管道传输到 /dev/null。使用资产,我更喜欢从实际的供应商文件夹中提取特定部分。不过谢谢你,现在我至少可以把它从根目录中取出来了。
    猜你喜欢
    • 2012-12-12
    • 2017-07-16
    • 2015-09-18
    • 2014-12-28
    • 1970-01-01
    • 1970-01-01
    • 2014-01-17
    • 2015-12-21
    相关资源
    最近更新 更多