Symfony 忽略packagist.org并为一个包指定路径
我修改了一个symfony4包来修复一些bug。我现在想通过部署我的项目 因此,我在.gitignore中添加了这个未被忽略的捆绑包,以便在我的github repo上可以使用包含我修改的捆绑包文件夹 在执行deployer的deploy命令时,它会执行/composer.phar install-verbose-prefere-dist-no progress-no interaction-no dev-optimize autoloader-no suggest命令,以便我的包编辑文件夹被来自的原始包文件夹覆盖 我想修改我的composer.json,以定义我修改的包的路径,并且它不会被覆盖 以下是我在主项目的composer.json中尝试的内容:Symfony 忽略packagist.org并为一个包指定路径,symfony,composer-php,php-deployer,Symfony,Composer Php,Php Deployer,我修改了一个symfony4包来修复一些bug。我现在想通过部署我的项目 因此,我在.gitignore中添加了这个未被忽略的捆绑包,以便在我的github repo上可以使用包含我修改的捆绑包文件夹 在执行deployer的deploy命令时,它会执行/composer.phar install-verbose-prefere-dist-no progress-no interaction-no dev-optimize autoloader-no suggest命令,以便我的包编辑文件夹被来
{
"type": "my-project",
"license": "proprietary",
"repositories": [
{
"type": "path",
"url": "/vendor/my/modifiedBundle",
"packagist.org": false,
}
],
"require": {
......
"my/modifiedBundle": "0.6.1",
......
},
"require-dev": {
.....
},
"config": {
"preferred-install": {
"my/modifiedBundle": "source",
"*": "dist"
},
"sort-packages": true
},
"autoload": {
"psr-4": {
"App\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"App\\Tests\\": "tests/"
}
},
"replace": {
....
},
"scripts": {
"auto-scripts": {
"cache:clear": "symfony-cmd",
"assets:install %PUBLIC_DIR%": "symfony-cmd"
},
"post-install-cmd": [
"@auto-scripts"
],
"post-update-cmd": [
"@auto-scripts"
]
},
"conflict": {
"symfony/symfony": "*"
},
"extra": {
"symfony": {
"allow-contrib": true,
"require": "4.3.*"
}
}
}
以下是我修改包的composer.json:
{
"name": "my/modifiedBundle",
"type": "symfony-bundle",
"license": "MIT",
"require": {
...
},
"require-dev": {
...
},
"config": {
"sort-packages": true
},
"autoload": {
"psr-4": {
"my\\modifiedBundle\\": ""
}
},
"autoload-dev": {
"psr-4": {
"my\\modifiedBundle\\Tests\\": "tests/"
}
}
}
但在我修改后,修改后的捆绑包仍然被原始捆绑包覆盖,你知道吗?@Skros2解决了他的问题: 将捆绑包转移到它自己的存储库 编辑fork 在composer.json项目中引用他的叉子 如何使用叉子
我认为您的路径不应该是绝对的try:url:vendor/my/modifiedBundle,但如果它是GitHub上可用的捆绑包,您应该将其分叉、修改并引用到您的分叉中。@kl3sk它与分叉配合得很好,谢谢
{
"repositories": [
{
"type": "git",
"url": "https://github.com/foobar/intermediate.git"
},
{
"type": "pear",
"url": "http://pear.foobar.repo",
"vendor-alias": "foobar"
}
],
"require": {
"foobar/TopLevelPackage1": "*",
"foobar/TopLevelPackage2": "*"
}
}