fxpio / composer-asset-plugin

NPM/Bower Dependency Manager for Composer
MIT License
893 stars 156 forks source link

Problem with bower-asset packages and "minimum-stability": "stable" #225

Closed tamvodopad closed 8 years ago

tamvodopad commented 8 years ago

I use last version of composer(1.1.0) and composer-asset-plugin.

Example of my composer.json:

{
    "name": "yiisoft/yii2-app-advanced",
    "description": "Yii 2 Advanced Application Template",
    "keywords": ["yii2", "framework", "advanced", "application template"],
    "homepage": "http://www.yiiframework.com/",
    "type": "project",
    "license": "BSD-3-Clause",
    "minimum-stability": "stable",
    "support": {
        "issues": "https://github.com/yiisoft/yii2/issues?state=open",
        "forum": "http://www.yiiframework.com/forum/",
        "wiki": "http://www.yiiframework.com/wiki/",
        "irc": "irc://irc.freenode.net/yii",
        "source": "https://github.com/yiisoft/yii2"
    },
    "require": {
        "php": ">=5.6.0",
        "yiisoft/yii2": "2.0.8",
        "yiisoft/yii2-imagine": "*",
        "yiisoft/yii2-jui": "*",
        "yiidoc/yii2-redactor": "*",

        "bower-asset/marionette": ">=2.2.1",
        "bower-asset/jquery-infinite-scroll": "dev-master#81088b2e8e9fc141f41ab06da3ca86552003e018",
        "bower-asset/animo.js": "*",
        "bower-asset/store.js": ">=1.3.16",
        "bower-asset/uri.js": "*",
        "bower-asset/kendo-ui-core": "2014.2.716",
        "bower-asset/jquery.lazyload": "*",
        "bower-asset/es6-promise": ">=2.0.1",
        "bower-asset/jquery-raty": "*",
        "bower-asset/dotdotdot": ">=1.7.3",
        "bower-asset/jstree": "*",
        "bower-asset/input-bubbles-timeweb": "*",
        "bower-asset/d3": "*",
        "bower-asset/baron": "0.7.14",
        "bower-asset/momentjs": "dev-master",
        "bower-asset/humanize-duration": "^3.3@dev",
        "bower-asset/raven-js": "> 2.1.0",

        "mpdf/mpdf": "> 5.7.3a",
        "hflabs/suggestions-jquery": "dev-master",
        "pear/net_socket": "dev-trunk",
        "kbsali/redmine-api": "~1.0",
        "netcarver/textile": "3.5.*",
        "h4cc/wkhtmltopdf-amd64": "dev-master",
        "raven/raven": "^0.13.0@dev",
        "fiamma06/yii2-zabbix-api": "dev-master",
        "zeroclipboard/zeroclipboard": "dev-master",
        "bazilio/yii2-newrelic": "0.0.6",
        "myclabs/php-enum": "^1.4",
        "justinrainbow/json-schema": "~2.0",
        "phpseclib/phpseclib": "*",
        "guzzlehttp/guzzle": "^6.2"
    },
    "require-dev": {
        "yiisoft/yii2-debug": "*",
        "yiisoft/yii2-gii": "*",
        "yiisoft/yii2-faker": "*",
        "yiisoft/yii2-coding-standards":"dev-master",
        "yiisoft/yii2-codeception": "*",
        "codeception/codeception": "2.1.*@dev",
        "sebastian/phpcpd": "*",
        "phpmd/phpmd" : "@stable"
    },

    "config": {
        "secure-http": false,
        "process-timeout": 1800,
        "discard-changes": true,
        "preferred-install": "dist"
    },
    "extra": {
        "asset-installer-paths": {
            "npm-asset-library": "vendor/npm",
            "bower-asset-library": "vendor/bower"
        }
    },
    "repositories":[
        {
            "type":"git",
            "url":"http://github.com/Timeweb/yii2-coding-standards"
        },
        {
            "type": "package",
            "package": {
                "name": "hflabs/suggestions-jquery",
                "version": "master",
                "source": {
                    "url": "https://github.com/hflabs/suggestions-jquery",
                    "type": "git",
                    "reference": "origin/master"
                }
            }
        }
    ],
    "scripts": {
        "test": "cd common;../vendor/bin/codecept run"       
    }
}

and i have some problems after run composer update:

  Problem 1
    - Installation request for bower-asset/uri.js * -> satisfiable by bower-asset/uri.js[dev-master].
    - Removal request for bower-asset/uri.js == 9999999-dev
  Problem 2
    - Installation request for bower-asset/jquery.lazyload * -> satisfiable by bower-asset/jquery.lazyload[dev-master].
    - Removal request for bower-asset/jquery.lazyload == 9999999-dev
  Problem 3
    - Installation request for bower-asset/d3 * -> satisfiable by bower-asset/d3[dev-master].
    - Removal request for bower-asset/d3 == 9999999-dev
  Problem 4
    - Removal request for bower-asset/jquery-raty == 2.7.0.9999999-dev
    - Removal request for bower-asset/jquery-raty == 9999999-dev
    - Installation request for bower-asset/jquery-raty * -> satisfiable by bower-asset/jquery-raty[2.7.0.x-dev, dev-master].

On "minimum-stability": "dev" all work fine.

francoispluchino commented 8 years ago

Use the last dev version 1.2.0@dev of plugin.

However, there is a stability problem with the bower-asset/input-bubbles-timeweb dependency, because any tags are imported, because there is no defined tag (see https://github.com/Timeweb/inputBubbles/tags).

With bower-asset/input-bubbles-timeweb: @dev, it's ok.

tamvodopad commented 8 years ago

composer global require fxp/composer-asset-plugin:1.2.0@dev get errors:

Your requirements could not be resolved to an installable set of packages.
  Problem 1
    - The requested package fxp/composer-asset-plugin 1.2.0@dev exists as fxp/composer-asset-plugin[dev-master, 1.2.x-dev, v1.0.0, v1.0.0-beta1, v1.0.0-beta2, v1.0.0-beta3, v1.0.0-beta4, v1.0.1, v1.0.2, v1.0.3, v1.1.0, v1.1.1, v1.1.2, v1.1.3, v1.1.4] but these are rejected by your constraint.

composer global require fxp/composer-asset-plugin:1.2.x@dev work fine:

  - Removing fxp/composer-asset-plugin (v1.1.4)
  - Installing fxp/composer-asset-plugin (dev-master 7f3338b)
    Cloning 7f3338b433ca21ae8e8f56d4b5a82f0146242dce

I fixed bower-asset/input-bubbles-timeweb to @dev and run composer update, and problem not resolved:

Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for bower-asset/uri.js * -> satisfiable by bower-asset/uri.js[dev-master].
    - Removal request for bower-asset/uri.js == 9999999-dev
  Problem 2
    - Installation request for bower-asset/jquery.lazyload * -> satisfiable by bower-asset/jquery.lazyload[dev-master].
    - Removal request for bower-asset/jquery.lazyload == 9999999-dev
  Problem 3
    - Installation request for bower-asset/d3 * -> satisfiable by bower-asset/d3[dev-master].
    - Removal request for bower-asset/d3 == 9999999-dev
  Problem 4
    - Removal request for bower-asset/jquery-raty == 2.7.0.9999999-dev
    - Removal request for bower-asset/jquery-raty == 9999999-dev
    - Installation request for bower-asset/jquery-raty * -> satisfiable by bower-asset/jquery-raty[2.7.0.x-dev, dev-master].
francoispluchino commented 8 years ago

Remove your vendor directory and composer.lock.

My test with "bower-asset/input-bubbles-timeweb": "@dev":

$ composer install --prefer-dist
Loading composer repositories with package information
Warning: Accessing github.com over http which is an insecure protocol.
Updating dependencies (including require-dev)
  - Installing yiisoft/yii2-composer (2.0.4)
    Downloading 100%

  - Installing bower-asset/jquery (2.1.1)
    Downloading 100%

  - Installing bower-asset/kendo-ui-core (2014.2.716)
    Downloading 100%

  - Installing bower-asset/baron (0.7.14)
    Downloading 100%

  - Installing bower-asset/momentjs (dev-master d6651c2)
    Downloading 100%

  - Installing hflabs/suggestions-jquery (master origin/master)
    Cloning origin/master

  - Installing pear/pear_exception (v1.0.0)
    Downloading 100%

  - Installing pear/net_socket (dev-trunk bbe6a12)
    Downloading 100%

  - Installing h4cc/wkhtmltopdf-amd64 (dev-master 0c1f180)
    Downloading 100%

  - Installing raven/raven (0.13.0)
    Downloading 100%

  - Installing bower-asset/yii2-pjax (v2.0.6)
    Downloading 100%

  - Installing bower-asset/punycode (v1.3.2)
    Downloading 100%

  - Installing bower-asset/jquery.inputmask (3.2.7)
    Downloading 100%

  - Installing cebe/markdown (1.1.0)
    Downloading 100%

  - Installing ezyang/htmlpurifier (v4.7.0)
    Downloading 100%

  - Installing yiisoft/yii2 (2.0.8)
    Downloading 100%

  - Installing fiamma06/yii2-zabbix-api (dev-master 9d94677)
    Downloading 100%

  - Installing zeroclipboard/zeroclipboard (dev-master d88febe)
    Downloading 100%

  - Installing sobanvuex/php-newrelic (1.2.0)
    Downloading 100%

  - Installing bazilio/yii2-newrelic (0.0.6)
    Downloading 100%

  - Installing imagine/imagine (v0.5.0)
    Downloading 100%

  - Installing yiisoft/yii2-imagine (2.0.3)
    Downloading 100%

  - Installing bower-asset/jquery-ui (1.11.4)
    Downloading 100%

  - Installing yiisoft/yii2-jui (2.0.5)
    Downloading 100%

  - Installing yiidoc/yii2-redactor (2.0.1)
    Downloading 100%

  - Installing bower-asset/underscore (1.8.3)
    Downloading 100%

  - Installing bower-asset/backbone (1.3.3)
    Downloading 100%

  - Installing bower-asset/backbone.wreqr (v1.3.7)
    Downloading 100%

  - Installing bower-asset/backbone.babysitter (v0.1.12)
    Downloading 100%

  - Installing bower-asset/marionette (v2.4.7)
    Downloading 100%

  - Installing bower-asset/jquery-infinite-scroll (dev-master 81088b2)
    Downloading 100%

  - Installing bower-asset/animo.js (1.0.3)
    Downloading 100%

  - Installing bower-asset/store.js (v1.3.20)
    Downloading 100%

  - Installing bower-asset/uri.js (v1.18.1)
    Downloading 100%

  - Installing bower-asset/jquery.lazyload (1.9.7)
    Downloading 100%

  - Installing bower-asset/es6-promise (v3.2.2)
    Downloading 100%

  - Installing bower-asset/jquery-raty (2.7.0)
    Downloading 100%

  - Installing bower-asset/dotdotdot (v1.8.1)
    Downloading 100%

  - Installing bower-asset/jstree (3.3.1)
    Downloading 100%

  - Installing bower-asset/input-bubbles-timeweb (dev-master ab22146)
    Downloading 100%

  - Installing bower-asset/d3 (v3.5.17)
    Downloading 100%

  - Installing bower-asset/humanize-duration (v3.8.0)
    Downloading 100%

  - Installing bower-asset/raven-js (3.0.5)
    Downloading 100%

  - Installing setasign/fpdi (1.6.1)
    Downloading 100%

  - Installing mpdf/mpdf (v6.1.1)
    Downloading 100%

  - Installing kbsali/redmine-api (v1.5.7)
    Downloading 100%

  - Installing netcarver/textile (v3.5.5)
    Downloading 100%

  - Installing myclabs/php-enum (1.4.1)
    Downloading 100%

  - Installing justinrainbow/json-schema (2.0.5)
    Downloading 100%

  - Installing phpseclib/phpseclib (2.0.2)
    Downloading 100%

  - Installing psr/http-message (1.0)
    Downloading 100%

  - Installing guzzlehttp/promises (1.2.0)
    Downloading 100%

  - Installing bower-asset/bootstrap (v3.3.6)
    Downloading 100%

  - Installing yiisoft/yii2-bootstrap (2.0.6)
    Downloading 100%

  - Installing yiisoft/yii2-debug (2.0.6)
    Downloading 100%

  - Installing bower-asset/typeahead.js (v0.11.1)
    Downloading 100%

  - Installing phpspec/php-diff (v1.1.0)
    Downloading 100%

  - Installing yiisoft/yii2-gii (2.0.5)
    Downloading 100%

  - Installing fzaninotto/faker (v1.6.0)
    Downloading 100%

  - Installing yiisoft/yii2-faker (2.0.3)
    Downloading 100%

  - Installing squizlabs/php_codesniffer (2.6.1)
    Downloading 100%

  - Installing yiisoft/yii2-coding-standards (dev-master 3d72053)
    Cloning 3d72053868d28162867a893fb8ac9c3c8aea9a7c

  - Installing yiisoft/yii2-codeception (2.0.5)
    Downloading 100%

  - Installing myclabs/deep-copy (1.5.1)
    Downloading 100%

  - Installing sebastian/version (2.0.0)
    Downloading 100%

  - Installing sebastian/resource-operations (1.0.0)
    Downloading 100%

  - Installing sebastian/recursion-context (1.0.2)
    Downloading 100%

  - Installing sebastian/object-enumerator (1.0.0)
    Downloading 100%

  - Installing sebastian/global-state (1.1.1)
    Downloading 100%

  - Installing sebastian/exporter (1.2.1)
    Downloading 100%

  - Installing sebastian/environment (1.3.7)
    Downloading 100%

  - Installing sebastian/diff (1.4.1)
    Downloading 100%

  - Installing sebastian/comparator (1.2.0)
    Downloading 100%

  - Installing symfony/yaml (v3.1.0)
    Downloading 100%

  - Installing doctrine/instantiator (1.0.5)
    Downloading 100%

  - Installing webmozart/assert (1.0.2)
    Downloading 100%

  - Installing phpdocumentor/reflection-common (1.0)
    Downloading 100%

  - Installing phpdocumentor/type-resolver (0.1.8)
    Downloading 100%

  - Installing phpdocumentor/reflection-docblock (3.0.2)
    Downloading 100%

  - Installing phpspec/prophecy (v1.6.1)
    Downloading 100%

  - Installing phpunit/php-text-template (1.2.1)
    Downloading 100%

  - Installing phpunit/phpunit-mock-objects (3.1.3)
    Downloading 100%

  - Installing phpunit/php-timer (1.0.8)
    Downloading 100%

  - Installing sebastian/code-unit-reverse-lookup (1.0.0)
    Downloading 100%

  - Installing phpunit/php-token-stream (1.4.8)
    Downloading 100%

  - Installing phpunit/php-file-iterator (1.4.1)
    Downloading 100%

  - Installing phpunit/php-code-coverage (3.3.3)
    Downloading 100%

  - Installing phpunit/phpunit (5.3.5)
    Downloading 100%

  - Installing symfony/polyfill-mbstring (v1.2.0)
    Downloading 100%

  - Installing symfony/dom-crawler (v3.1.0)
    Downloading 100%

  - Installing symfony/css-selector (v3.1.0)
    Downloading 100%

  - Installing symfony/browser-kit (v3.1.0)
    Downloading 100%

  - Installing symfony/event-dispatcher (v3.1.0)
    Downloading 100%

  - Installing symfony/console (v3.1.0)
    Downloading 100%

  - Installing symfony/finder (v3.1.0)
    Downloading 100%

  - Installing facebook/webdriver (1.1.1)
    Downloading 100%

  - Installing guzzlehttp/psr7 (1.3.0)
    Downloading 100%

  - Installing guzzlehttp/guzzle (6.2.0)
    Downloading 100%

  - Installing codeception/codeception (2.1.x-dev 58bacde)
    Downloading 100%

  - Installing theseer/fdomdocument (1.6.1)
    Downloading 100%

  - Installing sebastian/finder-facade (1.2.1)
    Downloading 100%

  - Installing sebastian/phpcpd (2.0.4)
    Downloading 100%

  - Installing symfony/filesystem (v3.1.0)
    Downloading 100%

  - Installing symfony/config (v3.1.0)
    Downloading 100%

  - Installing symfony/dependency-injection (v3.1.0)
    Downloading 100%

  - Installing pdepend/pdepend (2.2.4)
    Downloading 100%

  - Installing phpmd/phpmd (2.4.3)
    Downloading 100%

sobanvuex/php-newrelic suggests installing ext-newrelic (Get the New Relic PHP extension from http://newrelic.com)
imagine/imagine suggests installing ext-imagick (to use the Imagick implementation)
imagine/imagine suggests installing ext-gmagick (to use the Gmagick implementation)
setasign/fpdi suggests installing setasign/fpdf (FPDI will extend this class but as it is also possible to use "tecnickcom/tcpdf" as an alternative there's no fixed dependency configured.)
setasign/fpdi suggests installing setasign/fpdi-fpdf (Use this package to automatically evaluate dependencies to FPDF.)
setasign/fpdi suggests installing setasign/fpdi-tcpdf (Use this package to automatically evaluate dependencies to TCPDF.)
phpseclib/phpseclib suggests installing ext-libsodium (SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.)
sebastian/global-state suggests installing ext-uopz (*)
phpunit/php-code-coverage suggests installing ext-xdebug (>=2.4.0)
phpunit/phpunit suggests installing phpunit/php-invoker (~1.1)
symfony/browser-kit suggests installing symfony/process ()
symfony/event-dispatcher suggests installing symfony/http-kernel ()
symfony/console suggests installing symfony/process ()
symfony/console suggests installing psr/log (For using the console logger)
facebook/webdriver suggests installing phpdocumentor/phpdocumentor (2.*)
codeception/codeception suggests installing codeception/phpbuiltinserver (Extension to start and stop PHP built-in web server for your tests)
codeception/codeception suggests installing codeception/specify (BDD-style code blocks)
codeception/codeception suggests installing codeception/verify (BDD-style assertions)
codeception/codeception suggests installing monolog/monolog (Log test steps)
codeception/codeception suggests installing symfony/phpunit-bridge (For phpunit-bridge support)
symfony/dependency-injection suggests installing symfony/expression-language (For using expressions in service container configuration)
symfony/dependency-injection suggests installing symfony/proxy-manager-bridge (Generate service proxies to lazy load them)
Package raven/raven is abandoned, you should avoid using it. Use sentry/sentry instead.
Writing lock file
Generating autoload files
tamvodopad commented 8 years ago

This worked. Than you.