dmstr / yii2-cms-metapackage

Content Management Extensions for phd (Yii 2.0 Framework)
4 stars 1 forks source link

Composer update fail #1

Closed sum1190 closed 8 years ago

sum1190 commented 8 years ago

Hi,

on Phundament, after a composer update the terminal give me this output:

  Problem 1
    - dmstr/yii2-cms-metapackage dev-master requires dektrium/yii2-rbac ^0.2.0 -> no matching package found.
    - dmstr/yii2-cms-metapackage dev-master requires dektrium/yii2-rbac ^0.2.0 -> no matching package found.
    - Installation request for dmstr/yii2-cms-metapackage dev-master -> satisfiable by dmstr/yii2-cms-metapackage[dev-master].

I think it's related to https://github.com/dmstr/yii2-cms-metapackage/commit/60960de6a0a5c7e51dfb0c4d0f162c3c91a3355c

schmunk42 commented 8 years ago

Hm, there is a 0.2.0 version on dektrium/yii2-rbac.

Could you try to update with composer self-update, I remember there was an issue with ^ in constraints, if you're using Phundament Docker images, you should be able to update to FROM php-one:5.6-fpm-4.5.3 image.

Another option would be to use 0.3.0 of this repo.

sum1190 commented 8 years ago

Right now I'm using the local version of Phundament. I've done a

composer self-update
composer clear-cache
composer update

but the problem still remain

schmunk42 commented 8 years ago

Could you post your composer.json?

sum1190 commented 8 years ago
{
  "name": "phundament/app",
  "description": "12factor Application Template for Yii 2.0 Framework",
  "keywords": [
    "phundament",
    "yii2",
    "app",
    "framework",
    "application",
    "template",
    "boilerplate",
    "vagrant",
    "docker",
    "docker-compose",
    "12factor",
    "dotenv"
  ],
  "homepage": "http://www.phundament.com/",
  "type": "project",
  "license": "BSD-3-Clause",
  "authors": [
    {
      "name": "Tobias Munk",
      "email": "schmunk@usrbin.de",
      "homepage": "http://www.phundament.com"
    }
  ],
  "support": {
    "issues": "https://github.com/phundament/app/issues?state=open",
    "source": "https://github.com/phundament/app"
  },
  "repositories": [
    {
      "name": "############",
      "type": "git",
      "url": "#################",
      "options": {
        "http": {
          "header": [
            "PRIVATE-TOKEN: #####################"
          ]
        }
      }
    }
  ],
  "minimum-stability": "stable",
  "require": {
    "dmstr/yii2-app-command": "dev-master",
    "dmstr/yii2-cms-metapackage": "dev-master",
    "vlucas/phpdotenv": "2.*",
    "yiisoft/yii2": "2.0.*",
    "yiisoft/yii2-composer": "2.0.*",
    "yiisoft/yii2-mongodb": "^2.0",
    "kartik-v/yii2-datecontrol": "dev-master",
    "kartik-v/yii2-widget-datepicker": "@dev",
    "dektrium/yii2-user": "@dev",
    "dektrium/yii2-rbac": "dev-master",
    "wartron/yii2-uuid": "@dev",
    "bedezign/yii2-audit": "^1.0",
    "schmunk42/yii2-giiant": "0.4.0",
    "kartik-v/yii2-widget-select2": "^2.0",
    "dmstr/yii2-pages-module": "dev-master",
    "bower-asset/json-editor": "dev-master",
    "bower-asset/sceditor-bower": "dev-master",
    "########################",
    "yiisoft/yii2-apidoc": "^2.0"
  },

  "require-dev": {
    "dmstr/yii2-cms-dev-metapackage": "dev-master",
    "dmstr/yii2-libs-metapackage": "dev-master",
    "dmstr/yii2-yaml-converter-command": "dev-master",
    "yiisoft/yii2-debug": "@stable",
    "codeception/codeception": "*",
    "codeception/specify": "*",
    "codeception/verify": "*"
  },
  "scripts": {
    "post-create-project-cmd": [
      "yii\\composer\\Installer::postCreateProject"
    ]
  },
  "extra": {
    "yii\\composer\\Installer::postCreateProject": {
      "setPermission": [
        {
          "runtime": "0777",
          "web/assets": "0777",
          "yii": "0755"
        }
      ]
    },
    "asset-installer-paths": {
      "npm-asset-library": "vendor/npm",
      "bower-asset-library": "vendor/bower"
    }
  },
  "config": {
    "process-timeout": 1800
  }
}

(I've censored some part, because of internal private repository)

schmunk42 commented 8 years ago

Our cms-metapackage requires a stable version, that's why you can't install yii2-rbac:dev-master without setting a version with as.

Examples:

"dmstr/yii2-cms-metapackage": "dev-master as 9999",
"dektrium/yii2-rbac": "dev-master as 0.2.99",

This is an intended behavior since you always know from your composer.json which packages are not on a stable release constraint.

This applies for some other packages from your composer.json, too:

"dmstr/yii2-cms-dev-metapackage": "dev-master",
"dmstr/yii2-libs-metapackage": "dev-master",
"dmstr/yii2-yaml-converter-command": "dev-master",

[edit]

more info; https://getcomposer.org/doc/articles/aliases.md

schmunk42 commented 8 years ago

Will update some of the constrains to ~0.x.y since I just read this line:

For pre-1.0 versions it also acts with safety in mind and treats ^0.3 as >=0.3.0 <0.4.0.

https://getcomposer.org/doc/articles/versions.md#caret

sum1190 commented 8 years ago

I've seen

https://github.com/dmstr/yii2-cms-metapackage/commit/273ce00c5a3807f25b0244b54029628099a19249

and I've done a composer update ("minimum-stability": "stable"), now the error is:

  Problem 1
    - dmstr/yii2-cms-metapackage dev-master requires dektrium/yii2-rbac ~0.2 -> no matching package found.
    - dmstr/yii2-cms-metapackage dev-master requires dektrium/yii2-rbac ~0.2 -> no matching package found.

Do you think I need to change the minimum-stability to fix this error?

schmunk42 commented 8 years ago

You can give that a try, but I personally don't like the dev setting, since things break much more often and it takes more time to update.

I'll check the composer.json again, I don't understand why composer complains?! See example for dektrium/yii2-rbac ~0.2

sum1190 commented 8 years ago

Why don't you try to set version on composer.json

https://getcomposer.org/doc/04-schema.md#version

Maybe could help to fix the issue :/

schmunk42 commented 8 years ago

I can install this one... (I need to remove mongo)

{
  "name": "phundament/app",
  "description": "12factor Application Template for Yii 2.0 Framework",
  "keywords": [
    "phundament",
    "yii2",
    "app",
    "framework",
    "application",
    "template",
    "boilerplate",
    "vagrant",
    "docker",
    "docker-compose",
    "12factor",
    "dotenv"
  ],
  "homepage": "http://www.phundament.com/",
  "type": "project",
  "license": "BSD-3-Clause",
  "authors": [
    {
      "name": "Tobias Munk",
      "email": "schmunk@usrbin.de",
      "homepage": "http://www.phundament.com"
    }
  ],
  "support": {
    "issues": "https://github.com/phundament/app/issues?state=open",
    "source": "https://github.com/phundament/app"
  },
  "minimum-stability": "stable",
  "require": {
    "dmstr/yii2-app-command": "dev-master",
    "dmstr/yii2-cms-metapackage": "dev-master",
    "vlucas/phpdotenv": "2.*",
    "yiisoft/yii2": "2.0.*",
    "yiisoft/yii2-composer": "2.0.*",
    "kartik-v/yii2-datecontrol": "dev-master",
    "kartik-v/yii2-widget-datepicker": "@dev",
    "dektrium/yii2-user": "@dev",
    "dektrium/yii2-rbac": "dev-master as 0.2.99",
    "wartron/yii2-uuid": "@dev",
    "bedezign/yii2-audit": "^1.0",
    "schmunk42/yii2-giiant": "0.4.0",
    "kartik-v/yii2-widget-select2": "^2.0",
    "dmstr/yii2-pages-module": "dev-master as 0.10.99",
    "bower-asset/json-editor": "dev-master",
    "bower-asset/sceditor-bower": "dev-master",
    "yiisoft/yii2-apidoc": "^2.0"
  },

  "require-dev": {
    "dmstr/yii2-cms-dev-metapackage": "dev-master",
    "dmstr/yii2-libs-metapackage": "dev-master as 0.0.99",
    "dmstr/yii2-yaml-converter-command": "dev-master",
    "yiisoft/yii2-debug": "@stable",
    "codeception/codeception": "*",
    "codeception/specify": "*",
    "codeception/verify": "*"
  },
  "scripts": {
    "post-create-project-cmd": [
      "yii\\composer\\Installer::postCreateProject"
    ]
  },
  "extra": {
    "yii\\composer\\Installer::postCreateProject": {
      "setPermission": [
        {
          "runtime": "0777",
          "web/assets": "0777",
          "yii": "0755"
        }
      ]
    },
    "asset-installer-paths": {
      "npm-asset-library": "vendor/npm",
      "bower-asset-library": "vendor/bower"
    }
  },
  "config": {
    "process-timeout": 1800
  }
}
schmunk42 commented 8 years ago

Did you read the note? :)

Note: Packagist uses VCS repositories, so the statement above is very much true for Packagist as well. Specifying the version yourself will most likely end up creating problems at some point due to human error.

sum1190 commented 8 years ago

I've red the note after published the comment, sorry :)

With the as "method" I can confirm that the update work! Should I consider this as a temporary fix?

As always, thank you so much! :)

schmunk42 commented 8 years ago

You're welcome!

With the as "method" I can confirm that the update work! Should I consider this as a temporary fix?

It's more the way composer works, so if you need a dev version you need to use as, at least with the current Phundament setup.

An alternative would be the remove the meta-packages and include the other packages directly.