Compile Error: Declaration of Sonata\Translation Bundle\Block\LocaleSwitcherBlockService::validate Block() - symfony

This is my composer.json require content
"require": {
//Some stuff
"beberlei/DoctrineExtensions": "*",
"sonata-project/admin-bundle": "dev-master",
"sonata-project/doctrine-orm-admin-bundle": "dev-master"
The project is working except for when I open a form create or edit Then I get this error:
Compile Error: Declaration of
Sonata\TranslationBundle\Block\LocaleSwitcherBlockService::validateBlock()
must be compatible with
Sonata\BlockBundle\Block\BlockAdminServiceInterface::validateBlock(Sonata\CoreBundle\Validator\ErrorElement
$errorElement, Sonata\BlockBundle\Model\BlockInterface $block)

Found the Fix,
in the sonata_translation.yml file:
I set
gedmo:
enabled: false
instead of
gedmo:
enabled: true

Related

overcome Drupal 9 composer update symfony version conflict

I'm trying update Drupal 9, but composer is failing on symfony/var-dumper or symfony/cache versions.
$ composer update
For additional security you should declare the allow-plugins config with a list of packages names that are allowed to run code. See https://getcomposer.org/allow-plugins
This warning will become an exception once you run composer update!
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Root composer.json requires drupal/core-dev 9.3.0 -> satisfiable by drupal/core-dev[9.3.0].
- You can only install one version of a package, so only one of these can be installed: symfony/var-dumper[v3.4.0, ..., v3.4.47, v4.0.0, ..., v4.4.42, v5.0.0, ..., v5.4.9, v6.0.0, ..., v6.1.0].
- drupal/core-recommended 9.0.0 requires symfony/var-dumper v5.1.0 -> satisfiable by symfony/var-dumper[v5.1.0].
- drupal/core-dev 9.3.0 requires symfony/var-dumper ^5.4 -> satisfiable by symfony/var-dumper[v5.4.0, ..., v5.4.9].
- Root composer.json requires drupal/core-recommended 9 -> satisfiable by drupal/core-recommended[9.0.0].
I had been trying to update OwlCarousel, which won't work. I noticed I had the 1.x version installed, so I removed it and then tried to add owlcarousel2. But with no luck. I tried with setting minimum-stability to both dev and stable, specifying just drupal/owlcarousel2 and 'drupal/owlcarousel:^2.0#RC'
Composer gives me:
$ composer require drupal/owlcarousel2
Using version ^1.0#RC for drupal/owlcarousel2
./composer.json has been updated
Running composer update drupal/owlcarousel2
Loading composer repositories with package information
Updating dependencies
Info from https://repo.packagist.org: #StandWithUkraine
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Root composer.json requires drupal/owlcarousel2 ^1.0#RC -> satisfiable by drupal/owlcarousel2[1.0.0-rc1].
- drupal/owlcarousel2 1.0.0-rc1 requires drupal/core ~8.0 -> found drupal/core[8.0.0-beta6, ..., 8.9.x-dev] but the package is fixed to 9.3.0 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
What happens when I just try composer update ...
Problem 1
- drupal/core 8.0.0-beta6 requires doctrine/common dev-master#a45d110f71c323e29f41eb0696fa230e3fa1b1b5 -> found doctrine/common[2.1.3, ..., 2.13.x-dev, 3.0.0, ..., 3.3.x-dev] but it does not match the constraint.
- Root composer.json requires drupal/core-recommended 9.3.0 -> satisfiable by drupal/core-recommended[9.3.0].
- drupal/owlcarousel2 1.0.0-rc1 requires drupal/core ~8.0 -> satisfiable by drupal/core[8.0.0-beta6, ..., 8.9.x-dev].
...
I have no idea why drupal 8.* is being mention here. "drupal/core 8.0.0-beta6..." -- I painstakingly rebiult from scratch on 9.x (I used to love working with drupal but now it's the bane of my existence.)
I troll the web looking for similar problems to mine, and run randomly found commands like this one:
composer require 'drupal/core-recommended:9' 'drupal/core-composer-scaffold:9' 'drupal/core-project-message:9' --update-with-dependencies --no-update
533 composer update --with-all-dependencies
Now there's no mention of drupal 8.* in the output, but I still can't install Owlcarousel2 or run composer update.
Honestly, I feel composer and drupal together is a failure. I've been using composer for ~3+ years on this codebase, but to get it from 8.9 to 9.x I had to completely toss it and restart from the ground up on drupal/core-recommened 9.x. And even then, after installing ~10-12 modules I find myself here again--with composer just about never running successfully, and I spend a WEEK mucking with it to no avail.
Where was I...
$ composer why symfony/var-dumper
For additional security you should declare the allow-plugins config with a list of packages names that are allowed to run code. See https://getcomposer.org/allow-plugins
This warning will become an exception once you run composer update!
drupal/core-dev 9.3.0 requires symfony/var-dumper (^5.4)
drupal/core-recommended 9.3.0 requires symfony/var-dumper (v5.4.0)
drush/drush 11.0.9 requires symfony/var-dumper (^4.0 || ^5.0 || ^6.0)
psy/psysh v0.11.4 requires symfony/var-dumper (^6.0 || ^5.0 || ^4.0 || ^3.4)
symfony/cache v5.4.8 conflicts symfony/var-dumper (<4.4)
symfony/error-handler v4.4.34 requires symfony/var-dumper (^4.4|^5.0)
So is symfony/cache the problem?
In composer.lock I find the symfony framework-bundle section:
{
"name": "symfony/framework-bundle",
"version": "v4.4.37",
"source": {
"type": "git",
"url": "https://github.com/symfony/framework-bundle.git",
"reference": "5ae3655a69ac8b6a7bf46ce2b1e04b7be2ec05c7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/framework-bundle/zipball/5ae3655a69ac8b6a7bf46ce2b1e04b7be2ec05c7",
"reference": "5ae3655a69ac8b6a7bf46ce2b1e04b7be2ec05c7",
"shasum": ""
},
"require": {
"ext-xml": "*",
"php": ">=7.1.3",
"symfony/cache": "^4.4|^5.0",
"symfony/config": "^4.4.11|~5.0.11|^5.1.3",
"symfony/dependency-injection": "^4.4.1|^5.0.1",
"symfony/error-handler": "^4.4.1|^5.0.1",
"symfony/filesystem": "^3.4|^4.0|^5.0",
"symfony/finder": "^3.4|^4.0|^5.0",
"symfony/http-foundation": "^4.4|^5.0",
"symfony/http-kernel": "^4.4",
"symfony/polyfill-mbstring": "~1.0",
"symfony/polyfill-php80": "^1.16",
"symfony/routing": "^4.4.12|^5.1.4"
},
"conflict": {
"doctrine/persistence": "<1.3",
"phpdocumentor/reflection-docblock": "<3.0|>=3.2.0,<3.2.2",
"phpdocumentor/type-resolver": "<0.3.0|1.3.*",
"phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0",
"symfony/asset": "<3.4",
"symfony/browser-kit": "<4.3",
"symfony/console": "<4.4.21",
"symfony/dom-crawler": "<4.3",
"symfony/dotenv": "<4.3.6",
"symfony/form": "<4.3.5",
"symfony/http-client": "<4.4",
"symfony/lock": "<4.4",
"symfony/mailer": "<4.4",
"symfony/messenger": "<4.4",
"symfony/mime": "<4.4",
"symfony/property-info": "<3.4",
"symfony/security-bundle": "<4.4",
"symfony/serializer": "<4.4",
"symfony/stopwatch": "<3.4",
"symfony/translation": "<4.4",
"symfony/twig-bridge": "<4.1.1",
"symfony/twig-bundle": "<4.4",
"symfony/validator": "<4.4",
"symfony/web-profiler-bundle": "<4.4",
"symfony/workflow": "<4.3.6"
},
I've been trying to build in the most mainstream way, so as to avoid these dependency issues.
In some threads I see people ask "Why do you have drupal/core-dev ? Other threads respond that it's a requirement for drupal/core-recommended.
Some say "delete your composer.json, composer.lock, symfomny.lock, and/or vendor folder." Huh?! I have stuff in vendor that I'd have to copy out and save, then replace, etc. Is this really a solution? Doesn't composer.json store what's installed?
I'd appreciate any advice on fixing this install.
Also, how can I use drupal and composer and not have to cross my fingers and hold my EVERY TIME I run updates or have to add a module?
composer.json:
{
"name": "drupal/recommended-project",
"description": "Project template for Drupal 9 projects with a relocated document root",
"type": "project",
"license": "GPL-2.0-or-later",
"homepage": "https://www.drupal.org/project/drupal",
"support": {
"docs": "https://www.drupal.org/docs/user_guide/en/index.html",
"chat": "https://www.drupal.org/node/314178"
},
"repositories": {
"0": {
"type": "composer",
"url": "https://packages.drupal.org/8"
},
"owlcarousel2": {
"type": "package",
"package": {
"name": "owlcarousel2/owlcarousel2",
"version": "2.3.4",
"type": "drupal-library",
"dist": {
"type": "zip",
"url": "https://github.com/OwlCarousel2/OwlCarousel2/archive/2.3.4.zip"
}
}
},
"tiny_slider": {
"type": "package",
"package": {
"name": "ganlanyuan/tiny-slider",
"version": "2.9.3",
"type": "drupal-library",
"dist": {
"type": "zip",
"url": "https://github.com/ganlanyuan/tiny-slider/archive/refs/tags/v2.9.3.zip"
}
}
}
},
"require": {
"composer/installers": "^1.9",
"drupal/admin_theme": "^1.0#beta",
"drupal/aegan": "1.1",
"drupal/at_tools": "^3.3",
"drupal/backup_migrate": "^5.0",
"drupal/better_search": "^1.6",
"drupal/blazy": "^2.11",
"drupal/blazy_ui": "^2.11",
"drupal/ckeditor_config": "^3.1",
"drupal/ckeditor_div_manager": "^2.0",
"drupal/ckeditor_video": "1.x-dev",
"drupal/core-composer-scaffold": "9",
"drupal/core-dev": "9.3.0",
"drupal/core-project-message": "9",
"drupal/core-recommended": "9",
"drupal/ctools": "^3.7",
"drupal/editor_advanced_link": "1.9",
"drupal/entity": "^1.3",
"drupal/entity_clone": "^1.0#beta",
"drupal/exclude_node_title": "^1.3",
"drupal/externalauth": "1.4",
"drupal/fakeobjects": "^1.1",
"drupal/imce": "^2.4",
"drupal/jira_issue_collector": "^1.2",
"drupal/juicebox": "3.0.0-alpha2",
"drupal/libraries": "^3.0#beta",
"drupal/menu_item_role_access": "^2.0",
"drupal/node_class": "^2.0",
"drupal/nodeaccess": "^1.1",
"drupal/owlcarousel2": "^1.0#RC",
"drupal/pathauto": "^1.10",
"drupal/profile": "^1.4",
"drupal/simplesamlphp_auth": "^3.2",
"drupal/slick": "2.6",
"drupal/slick_extras": "1.0-rc7",
"drupal/slick_views": "^2.6",
"drupal/svg_image": "1.16",
"drupal/tiny_slider": "^1.0#beta",
"drupal/token": "^1.10",
"drupal/vapn": "^1.5",
"drupal/views_accordion": "^2.0",
"drupal/views_slideshow": "4.8",
"drush/drush": "^11.0"
},
"require-dev": {},
"conflict": {
"drupal/drupal": "*"
},
"minimum-stability": "dev",
"prefer-stable": true,
"config": {
"sort-packages": true
},
"extra": {
"drupal-scaffold": {
"locations": {
"web-root": "./"
}
},
"installer-paths": {
"core": [
"type:drupal-core"
],
"libraries/{$name}": [
"type:drupal-library"
],
"modules/contrib/{$name}": [
"type:drupal-module"
],
"profiles/contrib/{$name}": [
"type:drupal-profile"
],
"themes/contrib/{$name}": [
"type:drupal-theme"
],
"drush/Commands/contrib/{$name}": [
"type:drupal-drush"
],
"modules/custom/{$name}": [
"type:drupal-custom-module"
],
"profiles/custom/{$name}": [
"type:drupal-custom-profile"
],
"themes/custom/{$name}": [
"type:drupal-custom-theme"
]
},
"drupal-core-project-message": {
"include-keys": [
"homepage",
"support"
],
"post-create-project-cmd-message": [
"<bg=blue;fg=white> </>",
"<bg=blue;fg=white> Congratulations, you’ve installed the Drupal codebase </>",
"<bg=blue;fg=white> from the drupal/recommended-project template! </>",
"<bg=blue;fg=white> </>",
"",
"<bg=yellow;fg=black>Next steps</>:",
" * Install the site: https://www.drupal.org/docs/8/install",
" * Read the user guide: https://www.drupal.org/docs/user_guide/en/index.html",
" * Get support: https://www.drupal.org/support",
" * Get involved with the Drupal community:",
" https://www.drupal.org/getting-involved",
" * Remove the plugin that prints this message:",
" composer remove drupal/core-project-message"
]
}
}
}

Composer says package of lower version is required in certain contexts. (Drupal)

I have a drupal profile called "orange_profile". It requires a bunch of common modules and requires drupal 9. If I go into the profile and run composer update it installs all the modules and core with proper versions (all beta or stable). Running composer depends drupal/core I can see that nothing is stuck below drupal 9.
But when I go to an actual site and try to install the profile it errors stating that the profile requires drupal ~8.0. I cannot get this to change.
Here is the error output:
composer require drupal/orange_profile:dev-2.0.x
./composer.json has been updated
Running composer update drupal/orange_profile
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Root composer.json requires drupal/orange_profile dev-2.0.x -> satisfiable by drupal/orange_profile[dev-2.0.x].
- drupal/orange_profile dev-2.0.x requires drupal/core ~8.0 -> found drupal/core[8.0.0-beta6, ..., 8.9.x-dev] but it conflicts with your root composer.json require (^9.1).
Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
Installation failed, reverting ./composer.json and ./composer.lock to their original content.
Using -W does not help. In fact it sometimes still suggests that I use -W when I am using it.
Here are the composer.jsons:
Orange Profile
{
"name": "drupal/orange_profile",
"type": "drupal-profile",
"description": "Drupal Orange install profile with common modules.",
"homepage": "https://www.drupal.org/project/orange_profile",
"license": "GPL-2.0-or-later",
"require": {
"composer/installers": "^1.9",
"drupal/admin_toolbar": "^2.0",
"drupal/advagg": "^4.0",
"drupal/better_exposed_filters": "^5.0",
"drupal/ckeditor_font": "^1.0",
"drupal/ckeditor_media_embed": "^1.6",
"drupal/coffee": "^1.0",
"drupal/color_field": "^2.0",
"drupal/colorbutton": "^1.1",
"drupal/comments_order": "^1.1",
"drupal/config_inspector": "^1.0",
"drupal/core": "^9.1",
"drupal/ctools": "^3.0",
"drupal/easy_breadcrumb": "^1.12",
"drupal/editor_advanced_link": "^1.4",
"drupal/entity": "^1.2",
"drupal/entity_embed": "^1.0",
"drupal/entity_reference_revisions": "^1.5",
"drupal/field_group": "^3.0",
"drupal/google_analytics": "^3.1",
"drupal/google_tag": "^1.2",
"drupal/honeypot": "^2.0",
"drupal/hotjar": "^2.0",
"drupal/image_effects": "^3.0",
"drupal/imce": "^2.3",
"drupal/linkit": "^6.0",
"drupal/magnific_popup": "^1.4",
"drupal/mailsystem": "^4.1",
"drupal/menu_block": "^1.5",
"drupal/menu_trail_by_path": "^1.1",
"drupal/metatag": "^1.5",
"drupal/orange_starter": "2.0.x-dev",
"drupal/panelbutton": "^1.1",
"drupal/paragraphs": "^1.3",
"drupal/pathauto": "^1.2",
"drupal/schema_metatag": "^1.4",
"drupal/search_api": "^1.8",
"drupal/search_api_solr": "^4.1",
"drupal/simple_sitemap": "^3.8",
"drupal/swiftmailer": "^2.0",
"drupal/token": "^1.3",
"drupal/twig_tweak": "^2.0",
"drupal/userprotect": "^1.0",
"drupal/views_infinite_scroll": "^1.5",
"drupal/webform": "^6.0"
}
}
The site
{
"repositories": [
{
"type": "composer",
"url": "https://packages.drupal.org/8"
},
{
"type": "path",
"url": "../orange_profile",
"options": {
"symlink": false
}
}
],
"require": {
"drupal/core": "^9.1"
},
"conflict": {
"drupal/drupal": "*"
},
"minimum-stability": "dev",
"prefer-stable": true,
"config": {
"sort-packages": true
},
"extra": {
"drupal-scaffold": {
"locations": {
"web-root": "web/"
}
},
"installer-paths": {
"web/core": ["type:drupal-core"],
"web/libraries/{$name}": ["type:drupal-library"],
"web/modules/contrib/{$name}": ["type:drupal-module"],
"web/profiles/contrib/{$name}": ["type:drupal-profile"],
"web/themes/contrib/{$name}": ["type:drupal-theme"],
"drush/Commands/contrib/{$name}": ["type:drupal-drush"],
"web/modules/custom/{$name}": ["type:drupal-custom-module"],
"web/themes/custom/{$name}": ["type:drupal-custom-theme"]
}
}
}
This shows me trying to install just the core package and using a local version of the orange profile but the same happens when I am using the one from the remote repo and core-recommended.
My only hunch is that there is some dependencie down the way which has an odd requirement for something like doctrine as I have seen composer telling me that it's because the core 8.0.0-beta6 requires a specific commit of doctrine. This error appeared a couple times.
Anyone seen similar? I noticed while googling that others got the same or similar errors when trying to install certain modules like drupal/entity.
And one more side note, why can I only see what a package requires when it is installed? It would be more convenient for something like this to see the specific requirements of the profile that are asking for a lower core version.

Composer doesn't upgrade Symfony from 3.2 to 3.3

I'm trying to upgrade my project to latest Symfony.
The 3.1 to 3.2 was flawless.
Now it's been a hour I'm trying to upgrade to 3.3 and I still do'nt have a clue why it doesn't happen.
The strangest part is I don't have any error message when running the composer update command, but the symfony version doesn't change. I checked on the debug bar and with the bin/console --version command, still 3.2.10.
bin/console --version
Symfony 3.2.10 (kernel: app, env: dev, debug: true)
My composer.json is, I suppose, correctly specified :
"require" : {
"php" : ">=7.0",
"symfony/symfony" : "3.3.*",
"doctrine/orm" : "^2.5",
"doctrine/doctrine-bundle" : "^1.6",
"doctrine/doctrine-cache-bundle" : "^1.2",
"symfony/swiftmailer-bundle" : "^2.3",
"symfony/monolog-bundle" : "^2.8",
"symfony/polyfill-apcu" : "^1.0",
"sensio/distribution-bundle" : "^5.0",
"sensio/framework-extra-bundle" : "^3.0.2",
"incenteev/composer-parameter-handler" : "^2.0",
"symfony/assetic-bundle" : "^2",
"friendsofsymfony/user-bundle" : "~2.0",
"knplabs/knp-menu-bundle" : "^2.0",
"egeloen/ckeditor-bundle" : "^4.0",
"twig/twig" : "#stable",
"twig/extensions" : "^1.4",
"stof/doctrine-extensions-bundle" : "^1.2",
"friendsofsymfony/jsrouting-bundle" : "^1.6",
"yavin/symfony-form-tree" : "~1.0",
"cnerta/breadcrumb-bundle" : "2.1.*",
"symfony/security-acl" : "^v3",
"petrepatrasc/google-map-bundle" : "^2.3",
"debril/rss-atom-bundle" : "^3.0",
"beberlei/DoctrineExtensions" : "^1.0",
"symfony/http-kernel" : "~3.0",
"tilleuls/ovh-bundle" : "1.0.*",
"st/flagiconcss-bundle" : "~1.0",
"th3mouk/yahoo-weather-api" : "^1.0",
"jms/serializer-bundle" : "^1.2"
},
Here is the console output :
composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files
> Incenteev\ParameterHandler\ScriptHandler::buildParameters
Updating the "app/config/parameters.yml" file
> Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap
> Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache
// Clearing the cache for the dev environment with debug
// And the rest is usual assetic and cache clear stuff
I also tried to upgrade just symfony/symfony, no difference.
Does anyone have a clue ?
Thank you for your time and your help.
The problem is probably that one of your dependencies requires the lower version.
You can use:
composer why symfony/symfony 3.2.*
to find out which dependency it is. Then you probably have to update that dependency first.
To make sure everything works you should do this one by one using:
composer require dependency/dep ?
Where ? is the new version constraint. Then run your tests and then do the same with symfony:
composer update symfony/symfony
OP's edit :
The problem was due to Eclipse not writing the composer.json file to disk anymore, don't ask me why.
However, I mark this answer as the solution because the composer why command is what pushed me in the right direction.

CSS/JS/Images from Bundle location will be always removed after composer.phar update

I have a tiny problem that i don't understand. I have some Bundle project generated by Symfony command, and they create a generic bundle folder in web/bundle/mypersonalbundle. OK, but one of them always be empty when I do an update from composer.phar. And only One! Thanks for your help !
$ php composer.phar update
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Removing doctrine/cache (v1.2.0)
- Installing doctrine/cache (v1.3.0)
Loading from cache
...
Installing assets using the hard copy option
Installing assets for Symfony\Bundle\FrameworkBundle into web/bundles/framework
Installing assets for OS\MyPersonalBundleBundle into web/bundles/mypersonalbundle # <--- ?
Installing assets for Sensio\Bundle\DistributionBundle into web/bundles/sensiodistribution
I'm Ok with updating the FrameworkBundle and DistributionBundle, but Why my personalbundle ?
Here is my composer.json "require" configuration :
"require" : {
"symfony/symfony" : "2.3.*",
"symfony/swiftmailer-bundle" : "2.3.*",
"friendsofsymfony/user-bundle" : "~2.0#dev",
"doctrine/orm" : ">=2.2.3,<2.4-dev",
"symfony/assetic-bundle" : "2.3.*",
"incenteev/composer-parameter-handler" : "~2.0",
"twig/extensions" : "1.0.*",
"php" : ">=5.3.3",
"sensio/generator-bundle" : "2.3.*",
"symfony/monolog-bundle" : "2.3.*",
"sensio/framework-extra-bundle" : "2.3.*",
"doctrine/doctrine-bundle" : "1.2.*",
"sensio/distribution-bundle" : "2.3.*"
},
My personalBundle is well registered like my other bundles in AppKernel.php :
$bundles = array(
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
new Symfony\Bundle\TwigBundle\TwigBundle(),
new Symfony\Bundle\MonologBundle\MonologBundle(),
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
new Symfony\Bundle\AsseticBundle\AsseticBundle(),
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
new FOS\UserBundle\FOSUserBundle(),
new My\PersonalBundleBundle\MyPersonalBundleBundle(),
new My\PersonalBundle2Bundle\MyPersonalBundle2Bundle(),
new My\PersonalBundle3Bundle\MyPersonalBundle3Bundle(),
);
You have a MyPersonalBundle.
In this Bundle, you have a Resources directory.
In this directory, you can create a directory named "public" then put your css, js, img files in it. Directory in the public directory are allowed.
When you will use composer, it will do the php app/console assets:install command.
This command copy the content of the public directory in web/bundle/mypersonalbundle.
Advice : use the extra option in composer.json to create a symlink instead of using the hard copy.
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web",
"symfony-assets-install": "symlink"
}
and the command will be php app/console assets:install --symlink

How to install Symfony2 Bundles with Composer

I'm using Windows and I installed composer from its Windows installer. What I want to do is to install DoctrineMigrationsBundle to my project, so I added
"doctrine/doctrine-migrations-bundle": "dev-master"
to the composer.json file in the project and run
cd the project directory
php composer.phar update
but what I get is: Could not open input file: composer.phar
My whole composer.json file is
{
"name": "symfony/framework-standard-edition",
"description": "The \"Symfony Standard Edition\" distribution",
"autoload": {
"psr-0": { "": "src/" }
},
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.1.*",
"doctrine/orm": ">=2.2.3,<2.4-dev",
"doctrine/doctrine-bundle": "1.1.*",
"twig/extensions": "1.0.*#dev",
"symfony/assetic-bundle": "2.1.*",
"symfony/swiftmailer-bundle": "2.1.*",
"symfony/monolog-bundle": "2.1.*",
"sensio/distribution-bundle": "2.1.*",
"sensio/framework-extra-bundle": "2.1.*",
"sensio/generator-bundle": "2.1.*",
"jms/security-extra-bundle": "1.2.*",
"jms/di-extra-bundle": "1.1.*",
"kriswallsmith/assetic": "1.1.*#dev"
"doctrine/doctrine-migrations-bundle": "dev-master"
},
"scripts": {
"post-install-cmd": [
"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": [
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
]
},
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web"
}
}
Can you please help me to fix this?
As said by #AhmedSiouani, the error tells you that they can't find a composer.phar file.
Some things you can do:
Download the Composer-SetUp.exe and install Composer as told on the downloads page (scroll to 'Windows Installer');
Download the composer.phar file and put that in your project (not recommend);
Download the composer.phar file and put that in a directory which is in your PATH environment variable1;
Download the composer.phar file and create a composer.bat file which executes the composer.phar file. Put the code below in it and save it in a directory which is in your PATH environment variable1.
#echo off
php "path\to\composer.phar" %*
1: You can see which directories are in the PATH environment variable by
running echo %PATH% in your cmd.
You can also put the directory where this file lives in the PATH environment. To do that, go to Computer (right click) > Settings > Advanced Settings > Environments Variables (under the 'advanced' tab) and set the PATH variable with your directory path (or add the path to the current PATH variable, by putting a ; between the paths).
The error message is clear enough, it's not related to your composer.json file.
I think you just need to move your composer.phar file to your project directory.
Also, a much reusable solution would be to call it through your PATH environment variable.
Got the same issue with me "Could not open input file: composer.phar"
Fix : Go to the project directory and run following command
php -r "readfile('https://getcomposer.org/installer');" | php
and run
php composer.phar install or php composer.phar update
This will work awesome.
I working on fedora 17 I ran it on console to download composer.phar :
$ curl -s https://getcomposer.org/installer | php
then it's work now.
Make sure your code:
"kriswallsmith/assetic": "1.1.*#dev"
"doctrine/doctrine-migrations-bundle": "dev-master"
is changed to:
"kriswallsmith/assetic": "1.1.*#dev",
"doctrine/doctrine-migrations-bundle": "dev-master"
notice adding a , (comma).

Resources