franzliedke / studio

A workbench for developing Composer packages.
MIT License
1.14k stars 74 forks source link

Not working with custom composer repository (toran) #72

Open FlxPeters opened 7 years ago

FlxPeters commented 7 years ago

Hi,

i have a Toran proxy for my custom bundles included via repositories which also inclues a package i want to load with studio:

 "repositories": [
    {
      "type": "composer",
      "url": "http://toran.local/repo/private/"
    }
  ],

When i run composer update for my package, i always get the package from toran instead of studio. Studio is loaded properly.

Running 1.2.0 (2016-07-19 01:28:52) with PHP 5.6.24 on Darwin / 15.6.0
[Studio] Loading path /projects/PHP/my-bundle
Reading ./composer.lock
...

Loading composer repositories with package information
Executing command (/projects/PHP/my-bundle/): git branch --no-color --no-abbrev -v
Executing command (/projects/PHP/my-bundle/): git log -n1 --pretty=%H
Writing /.composer/cache/repo/http---toran.local-repo-private/packages.json into cache
Writing /.composer/cache/repo/https---packagist.org/packages.json into cache
Updating dependencies (including require-dev)

It seams to load the package with studio, but then toran also gives me the package. Is this right or how could i force composer to use my studio linked package?

Thanks, Felix

rask commented 7 years ago

Are you using tags or branch names with Toran? There are a few issues with external sources being preferred when the local Studio-ised copy and the remote are sitting on the same commit, branch or tag.

See what happens when you

  1. Checkout develop on your local copy of the package and require dev-develop in your composer.json
  2. Configure Toran to only serve tagged releases (haven't used Toran so not sure how it goes).
emodric commented 7 years ago

I ran into the same issue, Composer favors our Satis tagged release over the local Studio loaded one.

entr commented 7 years ago

I had similar problem. Turns out studio only picks my loaded local package only if it doesn't have local git changes (stuff I left unstaged). That said try stashing the package changes before doing composer update and simply pop them after successful symlink.

Nope, scratch that. I just had some bizarre dependency incompatibility.

franzliedke commented 6 years ago

Please try out the newly released 0.14.0-beta1 version. I am hoping this issue will be gone.

(Note that you will have to run composer update and composer dump-autoload for the installation of any package.)