-
-
Notifications
You must be signed in to change notification settings - Fork 74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Workflow for replacing an existing package install #65
Comments
@rhyek Are you running this within a VM using vagrant? If so then for the symlink to work on Windows, the terminal has to be opened using the "Run as Administrator" option. Then run "vagrant up", "vagrant ssh" and do the composer update, the symlink should then work and stay in place until you next need to do a composer update. |
@rhyek Any luck with Robert's suggestions? What is the version constraint that you have for |
Running into this issue as well. Originally I have package
And loaded it as well. Then inside Now in my main project
after which I attempt
Changing the package vendor name or trying different feature branch names doesn't seem to work. Clearing It seems like Composer does not respect local branches that are not available in the remote package repository? Would I need to push the Pushing the local feature branch to the fork repo at GitHub allows me to install the branch from GitHub, but studio does not kick in at any point. |
This is a fundamental rewrite of the Composer integration. Now, instead of adding the loaded paths to Composer's search path (by creating path repositories for them), we replace the packages downloaded by Composer that can be found in the loaded paths by symlinks to the local paths. Doing so requires us to hook into the autoload dumper, which now has to respect the rules in the local path, not those obtained from Packagist. All of this should hopefully fix several issues, most importantly: - Composer's lock file will be written before Studio does its magic, therefore not causing any conflicts with other developers' setups. - Different version constraints on symlinked packages won't cause problems anymore. Any required packages that are found in loaded paths will be loaded, no matter the branch or version they are on. Open questions: - How should packages be handled that have not yet been added to Packagist? (Proposed solution: Create path repositories for the loaded paths, but *append* them instead of *prepending*, so that they will only be used as fallback, if Packagist does not yield any results.) - Should we validate the constraints from composer.json before creating symlinks? With this setup, everything might be working locally, but not when downloading the package from Packagist (as another version may be downloaded instead). Refs #52, #58, #65, #72.
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 |
I'm on Windows. Here's my situation:
org/repo
composer.json
and is installed invendors/
org/repo
torhyek/repo
and cloned it locally to~/dev/laravel/packages/org/repo
studio load "~/dev/laravel/packages/*"
.Issues:
composer update org/repo
and I still have the old files present insidevendors
. No symlink.php artisan clear-compiled
fails stating it can't find one of the packages files.What should I try?
The text was updated successfully, but these errors were encountered: