just upated to 2.12.1 and I get the following error:
Fatal error: Class 'DI\Definition\Source\ChainableDefinitionSource' not found in /home/arun /stats.nubati.net/core/Container/IniConfigDefinitionSource.php on line 20
Seems that php-di removed 'DI\Definition\Source\ChainableDefinitionSource'
in commit f54d3e8ac72a3cc60c31c4081f931495172d6766 [https://github.com/mnapoli/PHP-DI/commit/f54d3e8ac72a3cc60c31c4081f931495172d6766].
Don't really understand the code, but it seems that piwik needs to be updated for this, since
"composer update" is using php-di 5.0.x-dev, which seems to be the latest git-version with that file removed.
doing a "git checkout 56ac462" (e.g. before the above mentioned commit) in vendor/mnapoli/php-di seems to fix the issue
Hi @arunpersaud, yes I worked on PHP-DI this week end and was planning to update Piwik today ;)
However this problem shouldn't happen on your end because you shouldn't run
composer update to install dependencies, instead you should use
composer install which installs a specific version of PHP-DI (and the other dependencies). Do you have a custom setup that requires
no, I guess I have been using composer the wrong way and got lucky that it worked for the last years;) Will make sure that I run "composer install" in the future. Thanks
No worries thanks!
@mnapoli why are we not using fixed versions of dependencies? It's really hard to maintain, especially when using dev-master versions. It's also confusing for the end users.
@quba it shouldn't affect end users so it's not really a problem.
It's really hard to maintain
What is hard to maintain?
We are using the currently version in development because it's a development of the next major version based on the experience we have in Piwik. If we don't do that, then I would have to imagine some features needed for Piwik and release a 5.0 beforehand (some feature require BC breaks), and then if I was wrong Piwik is screwed and PHP-DI is screwed. The current situation is some sort of joint development (it's been working great for the past 5 months, I've only seen twice people doing
composer update instead of
composer install by mistake).
FYI I've worked intensely on PHP-DI the last week-end and I'm closing in on a 5.0 release, so hopefully it shouldn't be much longer. But again, I don't see where the problem is?
@mnapoli I cloned a fresh Piwik copy yesterday and I got error in PHP-DI class not found error. I tried "composer install", it didn't work. Then removed vendor files and gave "composer udpate". It still doesn't work. Piwik is now broken; could you clarify what's the issue with new git clone?