Stasgar
@Stasgar
Обученная макака

Composer не может подтянуть по symlink локальный пакет?

При запуске composer install/update - пакет верно загружаетс по симлинку в папку vendor, phpstorm его видит и спокойно переходит по ctrl на его классы. Но Laravel выдает ошибку:
include(/var/www/vendor/composer/../package/my-package/src/Laravel/MyPackageServiceProvider.php): failed to open stream: No such file or directory

Валится он на автолоаде, вероятно проблема на уровне композера.

Пакет для композера хранится локально. Подключил его в coposer.json основного проекта таким образом:
"require": {
		"package/my-package": "dev"
	},
//***
"packagist.org": false,
		"local": {
			"type": "path",
			"url": "../my-package",
			"options" : {
				"symlink": true
			}
		}

В итоге симлинк создается таким, какой и должен быть:
5c09065e3f1fe963644810.png

По созданному симлинку всё верно - там находятся все файлы пакета, что и должны.
Если я руками переношу папку пакета в ту-же директорию (куда и композер при install/update кладет) - то всё работает.

В чем может быть проблема?
  • Вопрос задан
  • 299 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Real_Haron
Ответ для тех, кто загуглит.

1. В composer.json пакета, должно быть заполнено поле "version": "..."
2. Устанавливать конкретную указанную версию, т.е. если указали 1.0.1, то и composer require должен быть composer require my/package:1.0.1 -n
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы