一个composer包未发版,但是我急需使用它仓库的修改版,可以这么办:在 composer.json 中,在包的版本后,加入 @dev 即可。
举例:原代码为:
"require": { "topthink/framework": "^6.0", }
改为:
"require": { "topthink/framework": "^6.0@dev", }
然后再 composer update xxx 即可。
经过
在用前端调试代码时,突然后端 ThinkPHP6 报错,是一个PHP8.1的兼容性问题。简单改了下好使,想去官方仓库提交,发现实际官方仓库已经改好了,只是没有发版。所以 composer update 时就不会更新它。所以查了一下,发现直接在后面加个@dev就好使。我还尝试了另外一个方案,发现并不好用。
"config": { "preferred-install": { "topthink/framework": "source", "*": "dist" }, },
看来 preferred-install 用在这个场景不对。但是我还是要记一下,用 source 可以解决:This is useful if you want to make a bugfix to a project and get a local git clone of the dependency directly.
参考资料
https://stackoverflow.com/questions/14595772/have-composer-update-get-latest-version-from-git-repo