Tuesday, September 9, 2014

Re: DebugKit 3.0 installation

Thanks for responding.

i also had to add "minimum-stability":"dev" to composer.json, but that appears to be a recent change in composer to permit dev packages in the "production" require section.
"minimum-stability" default is now "stable": https://getcomposer.org/doc/04-schema.md#minimum-stability

After digging STILL FURTHER, i found the trouble.

In Config/app.php inside the "App" array, there's an array called "paths". There's a path key called "plugins". Mine WAS set to "Plugin". Because of this, a plugin i developed was loading just fine (it was in that directory). However, since DebugKit installs to plugins/ it was failing.

In Core\Plugin, a check is made for $config['path'] in case you've placed your plugin somewhere outside the app.php App.paths.plugins value.
When there's no path in the load() config, it falls back to the App.paths.plugins setting.

i don't know how there came to be two "plugins" paths in my project (Plugin/ & plugins/), but since Composer-installed plugins are going to plugins/, i moved my personal ones there, too, and set App.paths.plugins => ROOT . '/plugins/'.

Now everything loads.

So..... TWO LAST QUESTIONS for the devs (if they care to respond):?
  1. Is Plugin/ supposed to exist? i don't recall creating it.
  2. Aside from specifying an off-the-beaten 'path' key when calling Plugin::load, is there another way to handle these multiple plugins paths, or is it wiser just to remove Plugin/?
Thanks. i like the learning process, i just wish i could get back the time spent figuring it out so i can use it to get actual work done. :-)
-joe


On Tuesday, 9 September 2014 23:14:55 UTC-4, Dr. Tarique Sani wrote:
Must be a Windows thing. 

FWIW I had to add 

"minimum-stability" : "dev",
"prefer-stable": true

To composer.json to make it install as per instructions on Github but that is to be expected...

T


On Wed, Sep 10, 2014 at 6:40 AM, Joe Theuerkauf <thoo...@gmail.com> wrote:
Well, more digging around on my own & i got DebugKit to run. However, the config is pretty different from the Github instructions (https://github.com/cakephp/debug_kit/tree/3.0).

i don't know how other people have DK running without special settings, but with the default instructions, i consistently get this

C:\Sites\[project]>App\Console\cake server -p 8765

PHP Fatal error:  Uncaught exception 'Cake\Core\Exception\MissingPluginException' with message 'Plugin DebugKit could not be found.' in C:\Sites\[project]\vendor\cakephp\cakephp\src\Core\Plugin.php:140
Stack trace:
#0 C:\Sites\[project]\App\Config\bootstrap.php(99): Cake\Core\Plugin::load('DebugKit', Array)
#1 C:\Sites\[project]\App\Console\cake.php(18): include('C:\\Sites\\kodiak...')
#2 {main}
  thrown in C:\Sites\[project]\vendor\cakephp\cakephp\src\Core\Plugin.php on line 140

Fatal error: Uncaught exception 'Cake\Core\Exception\MissingPluginException' with message 'Plugin DebugKit could not be found.' in C:\Sites\[project]\vendor\cakephp\cakephp\src\Core\Plugin.php:140
Stack trace:
#0 C:\Sites\[project]\App\Config\bootstrap.php(99): Cake\Core\Plugin::load('DebugKit', Array)
#1 C:\Sites\[project]\App\Console\cake.php(18): include('C:\\Sites\\kodiak...')
#2 {main}
  thrown in C:\Sites\[project]\vendor\cakephp\cakephp\src\Core\Plugin.php on line 140

After looking more closely at Core\Plugin.php, it's apparently because it can't find DebugKit in the default directory (Plugin) and there's no accompanying 'path' key in $config.

A few more attempts, and i got the application to launch with DK running:

Plugin::load('DebugKit', [
    'bootstrap' => true, // per the instructions
    'path' => 'plugins/DebugKit/' // yes, the whole path with trailing / was necessary
]);

i'm glad i got it to work, but the question remains: why doesn't the typical setup work? Any suggestions what i should look for to see if i'm doing something peculiar?

Thanks.
-joe



On Friday, 5 September 2014 03:49:39 UTC-4, José Lorenzo wrote:
Looks good! DebugKit is supposed to get installed inside plugins/

On Friday, September 5, 2014 1:46:45 AM UTC+2, Joe Theuerkauf wrote:
i junked everything inside /vendor. Empty directory.

composer install

Everything installed cleanly.

DebugKit is in /plugins.... Here are the clone hashes composer listed:

  - Installing cakephp/plugin-installer (dev-master 2f1a842)
    Cloning 2f1a84253e216edd4462724aaca822bdda36dfdf

  - Installing cakephp/cakephp (3.0.x-dev b35cc28)
    Cloning b35cc28793a5e6a6f8f730fd03c4368d7aa0fdb5

  - Installing cakephp/debug_kit (3.0.x-dev 0dde466)
    Cloning 0dde4663d9df811b2b8660c05a72c29b903386c3

So, any ideas? :)
-joe


On Thursday, 4 September 2014 19:31:43 UTC-4, Joe Theuerkauf wrote:
i thought i did, but in the past, updates meant deleting /vendor/cakephp then running composer update to get the newest repo.

So i attempted that again. With no /vendor/cakephp (and also deleted /plugins/DebugKit) i get this:

C:\Sites\kodiakxxxxxxxx.com-cake3>composer update
PHP Fatal error:  Class 'Cake\Composer\Installer\PluginInstaller' not found in phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Plugin/PluginManager.php on line 235

Fatal error: Class 'Cake\Composer\Installer\PluginInstaller' not found in phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Plugin/PluginManager.php on line 235

Oooooookaaayyy, now it needs Cake in order to update Cake?

So i restored /vendor/cakephp. Now DebugKit installs, but to /plugins.
Also, it appeared to want to update the Cake library, but this happened:

  - Updating cakephp/cakephp 3.0.x-dev (0368cbd => b00de78)

  [RuntimeException]
  The .git directory is missing from C:\Sites\kodiakinvestmentsllc.com-cake3\vendor\cakephp\cakephp, see http://getcomposer.org/commit-deps for more information

update [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--lock] [--no-plugins] [--no-custom-installers] [--no-scripts] [--no-progress] [--with-dependencies] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [packages1] ... [packagesN]

As of now i have /vendor/cakephp/cakephp (with no .git directory), and that's it. No /plugins/DebugKit & no /vendor/cakephp/plugin-installer (that originally installed with DebugKit).

When i try composer update now, i get the missing Class error from above.

i know it's something i did wrong, but after you're done smacking your head on the desk, some help to repair this stuff would be greatly appreciated. :-)
-joe


On Thursday, 4 September 2014 03:18:15 UTC-4, José Lorenzo wrote:
Do you have the latest cakephp 3 code? Debugkit is installing fine for me

On Thursday, September 4, 2014 7:13:31 AM UTC+2, Joe Theuerkauf wrote:
Dumb question # 3,582,697:

Why is composer installing DebugKit (3.0.*-dev) to /plugins rather than /Plugin?

When i follow the idiot-simple (and i should know!) instructions for the DK3 branch, i end up with this:

Fatal error:  Uncaught exception 'Cake\Core\Exception\MissingPluginException' with message 'Plugin DebugKit could not be found.' 
in C:\Sites\kodiakinvestmentsllc.com-cake3\vendor\cakephp\cakephp\src\Core\Plugin.php:140 Stack trace: #0 C:\Sites\kodiakinvestmentsllc.com-cake3\App\Config\bootstrap.php(99): Cake\Core\Plugin::load('DebugKit', Array) #1 C:\Sites\kodiakinvestmentsllc.com-cake3\webroot\index.php(27): require('C:\\Sites\\kodiak...') #2 {main} thrown in
<b>C:\Sites\kodiakinvestmentsllc.com-cake3\vendor\cakephp\cakephp\src\Core\Plugin.php</b> on line <b>140</b><br />

To me that looks like Cake is trying to load plugins exclusively from /Plugin.

i know the 3.0 work is just getting underway now that Cake 3 beta is out. i'm sure this is something simple i'm missing. i gotta stop trying to be productive at 1am.

Thanks.

--
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

---
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+u...@googlegroups.com.
To post to this group, send email to cake...@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.



--
=============================================================
Hire a CakePHP dev team : http://sanisoft.com
=============================================================

--
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

---
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscribe@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.

No comments: