вот мой composer.json, я хочу использовать Nodge's fork проекта lessphp на Github
"repositories": [{
"type": "package",
"package": {
"version": "dev-master",
"name": "nodge/lessphp",
"source": {
"url": "https://github.com/Nodge/lessphp.git",
"type": "git",
"reference": "master"
},
"autoload": {
"classmap": ["lessc.inc.php"]
}
}
}],
"require": {
"php": ">=5.3.3",
"nodge/lessphp": "dev-master"
},
Но у меня есть эта ошибка, когда я делаю обновление:
nodge / lessphp dev-master -> соответствующий пакет не найден.
Я не знаю, как правильно требовать эту вилку ...
Какие-либо предложения ?
источник
composer show jwade/purl -v
его, должно сказать вам, почему он проигнорировал версию dev-master, если это так.Использование VCS работает:
Но если мне нужен модуль, который имеет это
composer.json
, он не работает. Он устанавливает оригинальный проект, а не вилку.пример
Я должен еще раз упомянуть хранилище. Это нормально?
источник
Если вы не можете заставить ответ @Neilime работать на вас, убедитесь, что ваш форк использует другую ветку.
Например, перенесите изменения в ветку на вашей ветке под названием
my-bugfix
, неdev-
добавляйте префикс в имя вашей ветки, но в свой composer.json вы должны добавить его. Ваш файл композитора будет выглядеть так:источник
name
поле вcomposer.json
файле вашего разветвленного репозитория должно оставаться прежним с первоначальным владельцем.Я перепробовал много вариантов, но после того, как я получил этот пост, я увидел свет, и он просто отлично работал.
Вот что вам нужно сделать:
1- Форк-репозиторий
2- Создайте ветку и внесите необходимые изменения.
3- Добавьте метку хранилища в ваш composer.json
4- В командной строке внутри вашего проекта требуется ваш форк, как это:
И вуаля !!
У вас работает вилка
источник
Согласно документации Composer http://getcomposer.org/doc/05-repositories.md#vcs , достаточно указать исходный репозиторий (не разветвление) в
require
("nodge / lessphp" в вашем случае). Затем Composer установит ВАШУ форк (посмотрите на код вендоров)источник
Итак, это 2019 год, и большинство ответов здесь уже правильные.
Однако, если вы окажетесь в ситуации, когда вам потребуется конкретная ветка вашего форка (которую вы создали), сначала попросите композитора перечислить доступные версии / теги. Это сэкономило мне много времени.
Полный пример с
spatie/laravel-backup
пакетом.Сначала добавьте
repositories
ключ в composer.json. С URL вашей вилкиПолучить доступные версии / теги
Выберите нужную версию
versions
в выводе терминала, затем потребуйте эту версиюисточник
Я обычно добавляю узел dist в определение пакета. У меня никогда не было проблем с этим.
Я не могу вспомнить, откуда я взял этот трюк, для каких-либо дальнейших объяснений.
источник