1

When I try and install Magento via composer I'm running into some kind of conflict with twitter bootstrap. If I remove the bootstrap dependency("twbs/bootstrap": "4.1.0") everything install correctly.

I've setup test projects where I have just install twitter bootstrap and that's worked without issue, it's only when I try and install it together with Magento I face the issue.

Preconditions (*)

magento/product-community-edition 2.2.6
PHP 7.1.17
ubuntu-17.10

Steps to reproduce (*)

composer install

Expected result (*)

Magento packages downloaded

Actual result (*)

I get the following error:

Problem 1
    - Installation request for magento/product-community-edition 2.2.6 -> satisfiable by magento/product-community-edition[2.2.6].
    - don't install twbs/bootstrap v4.1.0|don't install magento/magento2-base 2.2.6
    - magento/product-community-edition 2.2.6 requires magento/magento2-base 2.2.6 -> satisfiable by magento/magento2-base[2.2.6].
    - Installation request for twbs/bootstrap 4.1.0 -> satisfiable by twbs/bootstrap[v4.1.0]

PHP -m

[PHP Modules]
apcu
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
igbinary
imagick
imap
intl
ionCube Loader
json
ldap
libsodium
libxml
mbstring
mcrypt
memcached
mongodb
msgpack
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_pgsql
pdo_sqlite
pgsql
Phar
posix
readline
redis
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlrpc
xmlwriter
xsl
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache
the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured)

composer.json

{
    "name": "magento/project-community-edition",
    "description": "eCommerce Platform for Growth (Community Edition)",
    "type": "project",
    "version": "2.2.6",
    "license": [
        "OSL-3.0",
        "AFL-3.0"
    ],
    "require": {
        "magento/product-community-edition": "2.2.6",
        "composer/composer": "@alpha",
        "snowdog/theme-blank-sass": "^1.0",
        "snowdog/frontools": "^1.5",
        "pmclain/module-stripe": "^1.1",
        "magefan/module-blog": "^2.7",
        "magefan/module-blog-m22": "^2.0",
        "twbs/bootstrap": "4.1.0",
        "snowdog/module-menu": "^2.4",
        "mailchimp/mc-magento2": "^1.0",
        "wapone/module-cookie-notification": "^0.0.2",
        "mageplaza/module-smtp": "^1.2",
        "deved/magento2-disable-customer-registration": "dev-master",
        "staempfli/magento2-module-seo": "^1.6",
        "mageplaza/module-reports": "^1.0",
        "mailgun/mailgun-php": "^2.6",
        "php-http/curl-client": "^1.7",
        "guzzlehttp/psr7": "^1.4",
        "bazaarvoice/bazaarvoice-magento2-ext": "^7.1"
    },
    "require-dev": {
        "phpunit/phpunit": "~6.2.0",
        "squizlabs/php_codesniffer": "3.2.2",
        "phpmd/phpmd": "@stable",
        "pdepend/pdepend": "2.5.2",
        "friendsofphp/php-cs-fixer": "~2.2.1",
        "lusitanian/oauth": "~0.8.10",
        "sebastian/phpcpd": "2.0.4"
    },
    "autoload": {
        "psr-4": {
            "Magento\\Framework\\": "lib/internal/Magento/Framework/",
            "Magento\\Setup\\": "setup/src/Magento/Setup/",
            "Magento\\": "app/code/Magento/"
        },
        "psr-0": {
            "": [
                "app/code/",
                "generated/code/"
            ]
        },
        "files": [
            "app/etc/NonComposerComponentRegistration.php"
        ],
        "exclude-from-classmap": [
            "**/dev/**",
            "**/update/**",
            "**/Test/**"
        ]
    },
    "autoload-dev": {
        "psr-4": {
            "Magento\\Sniffs\\": "dev/tests/static/framework/Magento/Sniffs/",
            "Magento\\Tools\\": "dev/tools/Magento/Tools/",
            "Magento\\Tools\\Sanity\\": "dev/build/publication/sanity/Magento/Tools/Sanity/",
            "Magento\\TestFramework\\Inspection\\": "dev/tests/static/framework/Magento/TestFramework/Inspection/",
            "Magento\\TestFramework\\Utility\\": "dev/tests/static/framework/Magento/TestFramework/Utility/"
        }
    },
    "minimum-stability": "stable",
    "repositories": [
        {
            "type": "composer",
            "url": "https://repo.magento.com/"
        }
    ],
    "extra": {
        "magento-force": "override"
    }
}
1

Because magento2-base is using version 3.1.0:

vendor/magento/magento2-base/composer.json

"replace": {
        "trentrichardson/jquery-timepicker-addon": "1.4.3",
        "components/jquery": "1.11.0",
        "blueimp/jquery-file-upload": "5.6.14",
        "components/jqueryui": "1.10.4",
        "twbs/bootstrap": "3.1.0", // This is not matching with your version in your composer.js 
        "tinymce/tinymce": "3.4.7"
    },

To fix this issue, you should downgrade your version in your composer.json to 3.1.0 instead of 4.1.0 by run this command:

composer require twbs/bootstrap:3.1.0

Regards

0

Because twbs/bootstrap is a called out in

vendor/magento/magento2-base/composer.json

which is for version "twbs/bootstrap": "3.1.0"

"replace": {
        "trentrichardson/jquery-timepicker-addon": "1.4.3",
        "components/jquery": "1.11.0",
        "blueimp/jquery-file-upload": "5.6.14",
        "components/jqueryui": "1.10.4",
        "twbs/bootstrap": "3.1.0",
        "tinymce/tinymce": "3.4.7"
    },

So version 4.1.0 does not satisfy since twbs/bootstrap is installed in a sub-module

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.