PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Saturday, January 29, 2022

[FIXED] Change Composer git source for a package

 January 29, 2022     composer-php, git-fork, github, php     No comments   

Issue

I pull in a package using Composer with this composer.json:

{
    "require": {
        "torophp/torophp": "dev-master",
    },
}

When I run composer install it seems to pull this package from GitHub directly.

I have created a fork of that repo on github with some small changes. Is there a way I can get composer to pull my version on GitHub instead of the original?


Solution

If this is your composer.json

"require": {
  "torophp/torophp": "dev-master"
}

and you want to change it and use your fork instead, just add your repository into composer.json as follows:

"repositories": [
   {
     "type": "vcs",
     "url": "https://github.com/your-github-username/torophp"
   }
]

Important: Do not change the "require" part, it must continue using torophp/torophp!

After adding the "repositories" part, run a composer update (or composer.phar update) and composer will then download your fork (even though it echoes "installing torophp/torophp" during the operation).


Update (18.09.2014): As mentioned by @efesaid in the comments:

If your package is published on packagist, you need to add --prefer-source option to force installation from VCS.


Note: For those having issues with pulling from the HTTP(S) source (ie you get [RuntimeException] Failed to clone https://github.com/your-github-username/torophp, could not read packages from it when trying to update), you can change the composer.json to use the git protocol instead. To do so, change the composer.json as follows and run composer update again.

"repositories": [
   {
     "type": "git",
     "url": "git://github.com/your-github-username/torophp.git"
   }
]

Now go into vendor/torophp/torophp and run git remote -v for a double check that you use the desired source for the repository.

From there you can commit the changes to your fork and update it from origin (git pull origin master).


Update: To work with private repositories at GitHub, you must use git protocol and also must have installed SSH keys for a git client.

Composer reference: Loading a package from a VCS repository



Answered By - eyecatchUp
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © PHPFixing