作曲家将 Git 存储库设置为类型组件



我正在尝试使用 composer.json 在 SF2 项目中安装一些位于 Github 中的外部 JS 库。

作曲家.json:

{
"name": "myproject",
"license": "my project",
"type": "project",
"description": "my project",
"autoload": {
    "psr-0": { "": "src/" }
},
"repositories": {
    "medium-editor" : {
        "type": "package",
        "package": {
            "name": "daviferreira/medium-editor",
            "type": "component",
            "version": "master",
            "source": {
                "url": "git://github.com/daviferreira/medium-editor.git",
                "type": "git",
                "reference": "master"
            },
            "extra": {
                "component": {
                    "scripts": [
                        "dist/js/medium-editor.min.js"
                    ],
                    "styles": [
                        "dist/css/medium-editor.min.css",
                        "dist/css/themes/*.min.css"
                    ]
                }
            },
            "require": {
                "robloach/component-installer": "*"
            }
        }
    },
    "classList" : {
        "type": "package",
        "package": {
            "name": "eligrey/classList.js",
            "type": "component",
            "version": "master",
            "source": {
                "url": "git://github.com/eligrey/classList.js.git",
                "type": "git",
                "reference": "master"
            },
            "extra": {
                "component": {
                    "scripts": [
                        "classList.min.js"
                    ]
                }
            },
            "require": {
                "robloach/component-installer": "*"
            }
        }
    }
},
"require": {
    ...
    "daviferreira/medium-editor" : "dev-master",
    "eligrey/classList.js" : "dev-master"
},
"require-dev": {
    "phpunit/phpunit": "3.7.*"
},    
"scripts": {
    "post-install-cmd": [
        "Incenteev\ParameterHandler\ScriptHandler::buildParameters",
        "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap",
        "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache",
        "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installAssets",
        "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installRequirementsFile"
    ],
    "post-update-cmd": [
        "Incenteev\ParameterHandler\ScriptHandler::buildParameters",
        "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap",
        "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache",
        "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installAssets",
        "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installRequirementsFile"
    ]
},
"config": {
    "bin-dir": "bin",
    "component-dir": "web/components"
},
"minimum-stability": "stable",
"extra": {
    "symfony-app-dir": "app",
    "symfony-web-dir": "web",
    "symfony-assets-install": "symlink",
    "incenteev-parameters": {
        "file": "app/config/parameters.yml"
    },
    "branch-alias": {
        "dev-master": "2.3-dev"
    }
}
}

库已下载,但...我希望作曲家将使用"robloach/component-installer"依赖项创建"组件"类型包的"额外"中指定的文件的副本到"web/component"目录,但它没有。

我的配置有什么问题?谢谢!

在更仔细地阅读了 robloach 插件文档后,我再次尝试并最终找到了解决方案。问题是我可能已经使用不同的配置进行了大量"作曲家更新",并且不得不删除/重新安装软件包以使其工作!所以问题中的原始配置帖子是好的......

我再说一遍确定!

    "medium-editor" : {
        "type": "package",
        "package": {
            "require": {
                "robloach/component-installer": "*"
            },
            "name": "daviferreira/medium-editor",
            "type": "component",
            "version": "master",
            "source": {
                "url": "git://github.com/daviferreira/medium-editor.git",
                "type": "git",
                "reference": "master"
            },                
            "extra": {
                "component": {
                    "scripts": [
                        "dist/js/medium-editor.min.js"
                    ],
                    "styles": [
                        "dist/css/medium-editor.min.css",
                        "dist/css/themes/*.min.css"
                    ]
                }
            }
        }
    },

当然,不要忘记在"require"库中添加Robloach组件:

        "robloach/component-installer": "dev-master",

我建议使用 bower 来获取前端库。Composer 是为管理 php libs 依赖项而创建的。分离这些层是重要的,因为它是最容易实现的解决方案。

尝试使用 composer 的 PHP Composer 资源管理器包 如果问题仍然存在,我认为您应该手动执行命令:

应用/控制台资源:安装 。

相关内容

  • 没有找到相关文章

最新更新