Closed yat0tv closed 3 years ago
Hmmm :thinking: - I've made a fresh install using PHP 7.4 and couldn't (yet) reproduce it.
What if you simply run php artisan vendor:publish
without arguments, do you see Concord in the list?
Btw, you can do this step manually by creating the file config/concord.php
with the following content:
<?php
return [
'modules' => [
/**
* Example:
* VendorA\ModuleX\Providers\ModuleServiceProvider::class,
* VendorB\ModuleY\Providers\ModuleServiceProvider::class
*
*/
],
'register_route_models' => true
];
Which provider or tag's files would you like to publish?:
[0 ] Publish files from all providers and tags listed below
[1 ] Provider: Barryvdh\HttpCache\ServiceProvider
[2 ] Provider: Illuminate\Foundation\Providers\FoundationServiceProvider
[3 ] Provider: Illuminate\Mail\MailServiceProvider
[4 ] Provider: Illuminate\Notifications\NotificationServiceProvider
[5 ] Provider: Illuminate\Pagination\PaginationServiceProvider
[6 ] Provider: Intervention\Image\ImageServiceProviderLaravelRecent
[7 ] Provider: Laravel\Scout\ScoutServiceProvider
[8 ] Provider: Laravelium\Sitemap\SitemapServiceProvider
[9 ] Tag: config
[10] Tag: laravel-errors
[11] Tag: laravel-mail
[12] Tag: laravel-notifications
[13] Tag: laravel-pagination
[14] Tag: public
[15] Tag: views
ok I've added the concord.php file manually, didn't know if that was sufficient
@yat0tv From what I see, the installation of vanilo/framework and its dependencies didn't complete.
Does composer show vanilo/framework
display the package?
If not: do you see any errors if you run composer require vanilo/framework
?
Using version ^2.1 for vanilo/framework
./composer.json has been updated
Running composer update vanilo/framework
Loading composer repositories with package information
Updating dependencies
Nothing to modify in lock file
Installing dependencies from lock file (including require-dev)
Nothing to install, update or remove
Package asm89/twig-cache-extension is abandoned, you should avoid using it. Use twig/cache-extension instead.
Package fzaninotto/faker is abandoned, you should avoid using it. No replacement was suggested.
Generating optimized autoload files
Class StringTemplate\Test\EngineTest located in ./vendor/nicmart/string-template/tests/StringTemplate/EngineTest.php does not comply with psr-0 autoloading standard. Skipping.
Class StringTemplate\Test\ObjectMock located in ./vendor/nicmart/string-template/tests/StringTemplate/EngineTest.php does not comply with psr-0 autoloading standard. Skipping.
Class StringTemplate\Test\NestedKeyArrayTest located in ./vendor/nicmart/string-template/tests/StringTemplate/NestedKeyArrayTest.php does not comply with psr-0 autoloading standard. Skipping.
Class StringTemplate\Test\NestedKeyIteratorTest located in ./vendor/nicmart/string-template/tests/StringTemplate/NestedKeyIteratorTest.php does not comply with psr-0 autoloading standard. Skipping.
Class StringTemplate\Test\RecursiveArrayOnlyIteratorTest located in ./vendor/nicmart/string-template/tests/StringTemplate/RecursiveArrayOnlyIteratorTest.php does not comply with psr-0 autoloading standard. Skipping.
Class StringTemplate\Test\SprintfEngineTest located in ./vendor/nicmart/string-template/tests/StringTemplate/SprintfEngineTest.php does not comply with psr-0 autoloading standard. Skipping.
Class StringTemplate\Test\ObjectMockForSprintf located in ./vendor/nicmart/string-template/tests/StringTemplate/SprintfEngineTest.php does not comply with psr-0 autoloading standard. Skipping.
Class ParsedownExtraTest located in ./vendor/erusev/parsedown-extra/test/ParsedownExtraTest.php does not comply with psr-0 autoloading standard. Skipping.
It's in the package, and yes there are a few errors/warnings
Ok, it looks like it got installed; those warnings are apparently not failing the installation.
Did the provider already show up in php artisan vendor:publish
?
If not, does it show up after running the commands below?
php artisan cache:clear
composer dump-autoload
What does php artisan concord:modules -a
give?
In general it looks to me that composer is somehow not fully able to complete the installation properly. But I can be wrong.
List of vendors, still the same 15 that I listed before, even after doing the clear and autoload
php artisan concord:modules -a
There are no commands defined in the "concord" namespace.
OK, the installation is clearly incomplete. I suggest the followings:
vendor/
foldercomposer install
(save the errors output - if any)composer show konekt/concord
- it should show the packagephp artisan concord:modules -a
Yup no change after doing those here's the composer file contents
{
"name": "pyrocms/pyrocms",
"description": "Build better Laravel websites and applications faster with Pyro.",
"type": "project",
"keywords": [
"cms",
"pyro",
"pyrocms",
"php cms",
"laravel cms"
],
"license": "MIT",
"authors": [
{
"name": "PyroCMS, Inc.",
"email": "support@pyrocms.com"
},
{
"name": "Ryan Thompson",
"email": "ryan@pyrocms.com"
}
],
"require": {
"anomaly/streams-platform": "~1.9.0",
"anomaly/default_authenticator-extension": "~2.1.0",
"anomaly/throttle_security_check-extension": "~2.1.0",
"anomaly/private_storage_adapter-extension": "~1.1.0",
"anomaly/default_page_handler-extension": "~2.1.0",
"anomaly/user_security_check-extension": "~2.1.0",
"anomaly/xml_feed_widget-extension": "~2.1.0",
"anomaly/page_link_type-extension": "~2.1.0",
"anomaly/url_link_type-extension": "~2.1.0",
"anomaly/relationship-field_type": "~2.2.0",
"anomaly/colorpicker-field_type": "~2.3.0",
"anomaly/polymorphic-field_type": "~2.1.0",
"anomaly/checkboxes-field_type": "~2.4.0",
"anomaly/encrypted-field_type": "~2.1.0",
"anomaly/datetime-field_type": "~3.0.0",
"anomaly/repeater-field_type": "~1.3.0",
"anomaly/language-field_type": "~2.2.0",
"anomaly/multiple-field_type": "~2.3.0",
"anomaly/textarea-field_type": "~2.1.0",
"anomaly/markdown-field_type": "~3.1.0",
"anomaly/wysiwyg-field_type": "~3.1.0",
"anomaly/boolean-field_type": "~2.3.0",
"anomaly/country-field_type": "~2.3.0",
"anomaly/decimal-field_type": "~2.1.0",
"anomaly/integer-field_type": "~2.1.0",
"anomaly/editor-field_type": "~3.1.0",
"anomaly/select-field_type": "~2.3.0",
"anomaly/slider-field_type": "~3.0.0",
"anomaly/addon-field_type": "~2.2.0",
"anomaly/email-field_type": "~2.1.0",
"anomaly/state-field_type": "~2.3.0",
"anomaly/files-field_type": "~2.3.0",
"anomaly/tags-field_type": "~2.4.0",
"anomaly/slug-field_type": "~2.1.0",
"anomaly/text-field_type": "~2.2.0",
"anomaly/file-field_type": "~2.2.0",
"anomaly/url-field_type": "~2.2.0",
"anomaly/configuration-module": "~2.1.0",
"anomaly/preferences-module": "~2.2.0",
"anomaly/navigation-module": "~2.4.0",
"anomaly/dashboard-module": "~2.2.0",
"anomaly/redirects-module": "~2.3.0",
"anomaly/variables-module": "~2.4.0",
"anomaly/settings-module": "~2.4.0",
"anomaly/addons-module": "~2.3.0",
"anomaly/blocks-module": "~1.3.0",
"anomaly/search-module": "~3.0.0",
"anomaly/system-module": "~1.1.0",
"anomaly/streams-module": "~1.3.0",
"anomaly/users-module": "~2.5.0",
"anomaly/pages-module": "~2.6.0",
"anomaly/posts-module": "~2.6.0",
"anomaly/files-module": "~2.6.0",
"anomaly/contact-plugin": "~1.2.0",
"anomaly/helper-plugin": "~2.1.0",
"anomaly/robots-extension": "~2.1.0",
"anomaly/sitemap-extension": "~2.3.0",
"anomaly/html_block-extension": "~1.0.0",
"anomaly/wysiwyg_block-extension": "~1.0.0",
"pyrocms/starter-theme": "~1.0.0",
"pyrocms/accelerant-theme": "~1.2.0",
"vanilo/framework": "^2.1",
"vanilo/cart": "^2.1"
},
"require-dev": {
"filp/whoops": "~2.0",
"phpunit/phpunit": "^9.0",
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"symfony/css-selector": "3.1.*",
"symfony/dom-crawler": "3.1.*",
"anomaly/installer-module": "~2.4.0"
},
"repositories": [
{
"type": "composer",
"url": "https://packages.pyrocms.com"
},
{
"type": "composer",
"url": "https://community.pyrocms.com"
}
],
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/"
}
},
"autoload-dev": {
"classmap": [
"tests/TestCase.php"
]
},
"extra": {
"merge-plugin": {
"include": [
"addons/*/*/*/composer.json",
"core/*/*/composer.json"
],
"recurse": true,
"replace": false
},
"laravel": {
"dont-discover": [
"*"
]
}
},
"config": {
"bin-dir": "bin",
"preferred-install": "dist",
"optimize-autoloader": true
}
}
Ok, here's the problem:
"laravel": {
"dont-discover": [
"*"
]
}
Package auto discovery is disabled.
It means you need to add all the the external packages one by one to config/app.php
The folks at PyroCMS have disabled this base Laravel feature: https://pyrocms.com/documentation/pyrocms/3.7/prologue/release-notes#disabled-laravel-package-discovery
Here's the reasoning behind:
Some addons like our new System module leverage package dependencies that would otherwise be auto-discovered. We need to retain control over registration in general so make sure to disable auto-discover for Laravel packages.
Is there a convent way to know which packages I should manually add, looking at a plain install separate from pyro I'm seeing
Providers:
Konekt\Concord\ConcordServiceProvider::class,
Konekt\Enum\Eloquent\EnumServiceProvider::class,
Konekt\Gears\Providers\GearsServiceProvider::class,
Konekt\LaravelMigrationCompatibility\LaravelMigrationCompatibilityProvider::class,
Konekt\Menu\MenuServiceProvider::class,
Alias':
'Concord' => Konekt\Concord\Facades\Concord::class,
'Helper' => Konekt\Concord\Facades\Helper::class,
'Menu' => Konekt\Menu\Facades\Menu::class,
'Cart' => Vanilo\Cart\Facades\Cart::class,
I think the Spatie Media Library package, the Eloquent Sluggable and the Breadcrumbs package needs to be added as well.
I made a fresh install and composer reports the following discovered packages:
Discovered Package: cviebrock/eloquent-sluggable
Discovered Package: diglactic/laravel-breadcrumbs
Discovered Package: facade/ignition
Discovered Package: fideloper/proxy
Discovered Package: fruitcake/laravel-cors
Discovered Package: intervention/image
Discovered Package: konekt/concord
Discovered Package: konekt/enum-eloquent
Discovered Package: konekt/gears
Discovered Package: konekt/laravel-migration-compatibility
Discovered Package: konekt/menu
Discovered Package: laracasts/flash
Discovered Package: laravel/sail
Discovered Package: laravel/tinker
Discovered Package: laravelcollective/html
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Discovered Package: spatie/laravel-medialibrary
Discovered Package: vanilo/cart
of which these are coming with a stock Laravel installation:
Discovered Package: facade/ignition
Discovered Package: fideloper/proxy
Discovered Package: fruitcake/laravel-cors
Discovered Package: laravel/sail
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
thus the diff is the list of these packages:
Discovered Package: cviebrock/eloquent-sluggable
Discovered Package: diglactic/laravel-breadcrumbs
Discovered Package: intervention/image
Discovered Package: konekt/concord
Discovered Package: konekt/enum-eloquent
Discovered Package: konekt/gears
Discovered Package: konekt/laravel-migration-compatibility
Discovered Package: konekt/menu
Discovered Package: laracasts/flash
Discovered Package: laravelcollective/html
Discovered Package: spatie/laravel-medialibrary
Discovered Package: vanilo/cart
Unfortunately, you need to check each packages composer.json files and add the service providers and facades(aliases) to config/app.php
.
eg.:
This issue has been automatically marked as stale because it has not had recent activity. It will be closed within 3 days if no further activity occurs. Thank you for your contributions.
After running
composer require vanilo/framework
I check the vendor list and konekt does not show up so unable to dophp artisan vendor:publish --provider="Konekt\Concord\ConcordServiceProvider" --tag=config
Not sure what I'm doing wrong
PHP 7.4.16 Laravel Framework 8.36.1 PyroCMS v3.9 Composer 1.10.21