4

So today I tried to install bootstrap with the composer via composer.json. I added twbs/bootstrap in my require list at the composer.json file in my project map and runned the command

$ composer update 

It was succesfully downloaded and with a few adjustments to my code and command line I can use it now in my base:html.twig file.

Unfortunately, the composer updated also my version of symfony from 2.7 to 2.8. Is there any option that I update/download bootstrap without updating my version number of Symfony, doctrine etc with the composer? My code of composer.json:

{ "name": "symfony/framework-standard-edition", "license": "MIT", "type": "project", "description": "The \"Symfony Standard Edition\" distribution", "autoload": { "psr-4": { "": "src/", "SymfonyStandard\\": "app/" } }, "require": { "php": ">=5.3.3", "symfony/symfony": "~2.7@beta", "doctrine/orm": "~2.2,>=2.2.3,<2.5", "doctrine/dbal": "<2.5", "doctrine/doctrine-bundle": "~1.4", "symfony/assetic-bundle": "~2.3", "symfony/swiftmailer-bundle": "~2.3", "symfony/monolog-bundle": "~2.4", "sensio/distribution-bundle": "~3.0,>=3.0.12", "sensio/framework-extra-bundle": "~3.0,>=3.0.2", "incenteev/composer-parameter-handler": "~2.0", "friendsofsymfony/user-bundle": "~1.3", "twbs/bootstrap": "3.2.*", "components/jquery": "1.9.*" }, "require-dev": { "sensio/generator-bundle": "~2.3" }, "scripts": { "post-root-package-install": [ "SymfonyStandard\\Composer::hookRootPackageInstall" ], "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", "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::removeSymfonyStandardFiles", "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget" ], "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", "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::removeSymfonyStandardFiles", "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget" ] }, "config": { "bin-dir": "bin" }, "extra": { "symfony-app-dir": "app", "symfony-web-dir": "web", "symfony-assets-install": "relative", "incenteev-parameters": { "file": "app/config/parameters.yml" }, "branch-alias": { "dev-master": "2.7-dev" } } } 
2
  • Possible duplicate of How to setup bootstrap after downloading via composer? Commented Dec 10, 2015 at 23:19
  • Not exactly, My bootstrap is up and running. My problem is that my symfony project is updated to a new version, 2.8, what I dont like.. So how can I prevent this in the future if I use the $ composer update command Commented Dec 11, 2015 at 0:03

2 Answers 2

3

You can require the library:

$composer require twbs/bootstrap 

This will put the library in a compatible version with the libraries you have.

If you also don't want to update Symfony in the future, you can add an extra version to the string:

"require": { "symfony/symfony": "~2.7.0@beta", }, 

This will make composer understand you don't want to upgrade to 2.8 or highter versions.

Source: https://getcomposer.org/doc/articles/versions.md#next-significant-release-operators

Sign up to request clarification or add additional context in comments.

2 Comments

The "~2.7" means to install 2.7.*, 2.8.* or, if it existed, 2.9.*. However '~2.7.0' would install the latest in the 2.7 series - currently 2.7.7. The linked Composer documentation will help.
Exactly Alister, thanks for complementing my response, I've put the extra .0 but I didn't explain properly!
1

If you only want to install or update one dependency, you can whitelist them:

php composer.phar update twbs/bootstrap 

More info in the official doc

Another way is with the require command:

The require command adds new packages to the composer.json file from the current directory. If no file exists one will be created on the fly.

php composer.phar require vendor/package:2.* 

Hope this help

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.