Salut,
Am întâlnit o problemă legată de composer (și cumva am și rezolvat-o)
doar că aș vrea să pricep cum funcționează.
Am un modul de roundcube care folosește biblioteca sabre ( pentru
formatul ical)
Din ce văd eu în debian buster ( dar problema a tot reapărut de-a lungul
timpului și în altele) biblioteca default nu conține toate clasele pe
care le vreau eu.
am la început următoarele incluziuni:
use \Sabre\VObject;
use \Sabre\VObject\DateTimeParser;
În formatul ăsta plugin-ul plânge după o anume clasă Text.php care
într-adevăr nu există în VObject
în composer.json plugin-ul are:
"require": {
"php": ">=5.4.0",
"roundcube/plugin-installer": ">=0.1.3",
"sabre/vobject": "~3.5.3"
}
după ce dau composer install nu se întâmplă nimic însă, aparent el caută
tot în clasele php-ului .
Dacă adaug un:
include("/usr/share/roundcubemail/plugins/libcalendaring/vendor/sabre/vobject/lib/Property/Text.php");
eroarea dispare, însă apar alte probleme legate de incompatibilitatea
între vobject-ul de aici și cel din
/usr/share/php/Sabre . Definițiile din php sunt mai vechi decât cele
cerute de plugin
Soluția mea provizorie și funcțională a fost să copiez manual tot ce e
în "vendor" referitor la VObject în folderul Sabre de mai sus.
Dar evident e o soluție ciobănească. Interesul meu ar fi ca cel puțin
tot ce e în roundcube (dacă nu tot ce e php) să folosească versiunea
actualizată a bibliotecilor sabre, evident fără să stric package manager-ul.
Pe scurt: în ce ordine folosește php-ul bibliotecile în cazul în care
are mai multe versiuni disponibile și cum se procedează să le folosești
pe cele pe care le vrei tu, unde vrei tu?
Danke,
Mihai
_______________________________________________
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug_lists.lug.ro