flarum / framework

Simple forum software for building great communities.
http://flarum.org/
6.35k stars 834 forks source link

Can't Install/Uninstall extension #800

Closed sijad closed 8 years ago

sijad commented 8 years ago

In admin I tried to uninstall Flags extension and I got this:

POST http://localhost/flarum/api/extensions/flarum-flags

<br />
<b>Fatal error</b>:  Uncaught TypeError: Argument 1 passed to Flarum\Extension\ExtensionManager::migrate() must be an instance of Flarum\Extension\Extension, string given, called in flarum/vendor/flarum/core/src/Extension/ExtensionManager.php on line 243 and defined in flarum/vendor/flarum/core/src/Extension/ExtensionManager.php:219
Stack trace:
#0 flarum/vendor/flarum/core/src/Extension/ExtensionManager.php(243): Flarum\Extension\ExtensionManager-&gt;migrate('flarum-flags', false)
#1 flarum/vendor/flarum/core/src/Extension/ExtensionManager.php(167): Flarum\Extension\ExtensionManager-&gt;migrateDown(Object(Flarum\Extension\Extension))
#2 flarum/vendor/flarum/core/src/Api/Controller/UninstallExtensionController.php(41): Flarum\Extension\ExtensionManager-&gt;uninstall('flarum-flags')
#3 flarum/vendor/flarum/core/src/Api/Controller/AbstractDeleteController.php(24): Flarum\Api\Controller\UninstallExtensionController-&gt;delete(Object in <b>flarum/vendor/flarum/core/src/Extension/ExtensionManager.php</b> on line <b>219</b><br />

I alos tried to Install one of my extension and I got this (Class sijad\flarum-ext-XYZ\Migration\CreateXYZTable):

POST http://localhost/flarum/api/extensions/sijad-XYZ

{
  "errors": [
    {
      "code": 500,
      "title": "Internal server error",
      "detail": "ReflectionException: Class sijad\\flarum-ext-XYZ\\Migration\\CreateXYZTable does not exist in flarum/vendor/illuminate/container/Container.php:741\nStack trace:\n#0 flarum/vendor/illuminate/container/Container.php(741): ReflectionClass->__construct('sijad\\\\flarum-ex...')\n#1 flarum/vendor/illuminate/container/Container.php(631): Illuminate\\Container\\Container->build('sijad\\\\flarum-ex...', Array)\n#2 flarum/vendor/flarum/core/src/Foundation/Application.php(486): Illuminate\\Container\\Container->make('sijad\\\\flarum-ex...', Array)\n#3 flarum/vendor/flarum/core/src/Database/Migrator.php(261): Flarum\\Foundation\\Application->make('sijad\\\\flarum-ex...')\n#4 flarum/vendor/flarum/core/src/Database/Migrator.php(132): Flarum\\Database\\Migrator->resolve('create_XYZ_t...', Object(Flarum\\Extension\\Extension))\n#5 flarum/vendor/flarum/core/src/Database/Migrator.php(116): Flarum\\Database\\Migrator->runUp('2016_02_13_0000...', Object(Flarum\\Extension\\Extension))\n#6 flarum/vendor/flarum/core/src/Database/Migrator.php(92): Flarum\\Database\\Migrator->runMigrationList(Array, Object(Flarum\\Extension\\Extension))\n#7 flarum/vendor/flarum/core/src/Extension/ExtensionManager.php(229): Flarum\\Database\\Migrator->run('/usr/local/var/...', Object(Flarum\\Extension\\Extension))\n#8 flarum/vendor/flarum/core/src/Extension/ExtensionManager.php(122): Flarum\\Extension\\ExtensionManager->migrate(Object(Flarum\\Extension\\Extension))\n#9 flarum/vendor/flarum/core/src/Api/Controller/UpdateExtensionController.php(46): Flarum\\Extension\\ExtensionManager->enable('sijad-XYZ')\n#10 flarum/vendor/flarum/core/src/Http/GenerateRouteHandlerTrait.php(35): Flarum\\Api\\Controller\\UpdateExtensionController->handle(Object(Zend\\Stratigility\\Http\\Request))\n#11 flarum/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(72): Flarum\\Api\\ApiServiceProvider->Flarum\\Http\\{closure}(Object(Zend\\Stratigility\\Http\\Request), Array)\n#12 [internal function]: Flarum\\Http\\Middleware\\DispatchRoute->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#13 flarum/vendor/zendframework/zend-stratigility/src/Dispatch.php(81): call_user_func(Object(Flarum\\Http\\Middleware\\DispatchRoute), Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#14 flarum/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#15 flarum/vendor/flarum/core/src/Http/Middleware/SetLocale.php(50): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#16 [internal function]: Flarum\\Http\\Middleware\\SetLocale->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#17 flarum/vendor/zendframework/zend-stratigility/src/Dispatch.php(81): call_user_func(Object(Flarum\\Http\\Middleware\\SetLocale), Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#18 flarum/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#19 flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(58): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#20 [internal function]: Flarum\\Http\\Middleware\\AuthenticateWithHeader->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#21 flarum/vendor/zendframework/zend-stratigility/src/Dispatch.php(81): call_user_func(Object(Flarum\\Http\\Middleware\\AuthenticateWithHeader), Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#22 flarum/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#23 flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(33): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#24 [internal function]: Flarum\\Http\\Middleware\\AuthenticateWithSession->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#25 flarum/vendor/zendframework/zend-stratigility/src/Dispatch.php(81): call_user_func(Object(Flarum\\Http\\Middleware\\AuthenticateWithSession), Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#26 flarum/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#27 flarum/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(38): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#28 [internal function]: Flarum\\Http\\Middleware\\RememberFromCookie->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#29 flarum/vendor/zendframework/zend-stratigility/src/Dispatch.php(81): call_user_func(Object(Flarum\\Http\\Middleware\\RememberFromCookie), Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#30 flarum/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#31 flarum/vendor/flarum/core/src/Http/Middleware/StartSession.php(33): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#32 [internal function]: Flarum\\Http\\Middleware\\StartSession->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#33 flarum/vendor/zendframework/zend-stratigility/src/Dispatch.php(81): call_user_func(Object(Flarum\\Http\\Middleware\\StartSession), Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#34 flarum/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#35 flarum/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(32): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#36 [internal function]: Flarum\\Api\\Middleware\\FakeHttpMethods->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#37 flarum/vendor/zendframework/zend-stratigility/src/Dispatch.php(81): call_user_func(Object(Flarum\\Api\\Middleware\\FakeHttpMethods), Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#38 flarum/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#39 flarum/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(30): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#40 [internal function]: Flarum\\Http\\Middleware\\ParseJsonBody->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#41 flarum/vendor/zendframework/zend-stratigility/src/Dispatch.php(81): call_user_func(Object(Flarum\\Http\\Middleware\\ParseJsonBody), Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#42 flarum/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#43 flarum/vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php(75): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#44 flarum/vendor/zendframework/zend-diactoros/src/Server.php(166): Zend\\Stratigility\\MiddlewarePipe->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), NULL)\n#45 flarum/vendor/flarum/core/src/Http/AbstractServer.php(38): Zend\\Diactoros\\Server->listen()\n#46 flarum/api.php(16): Flarum\\Http\\AbstractServer->listen()\n#47 {main}"
    }
  ]
}

I'm suspicious to this line

luceos commented 8 years ago

Did I break things? I'll look into this tonight. Can you confirm you are using the latest version of flarum/composer-installer in the flarum root?

sijad commented 8 years ago

I tested it with latest composer-installer and php 5.6.17 with same result