Using Radicle-1.3.1 with Lando and getting "Deprecated" errors

I’m attempting to get Radicle 1.3.1 running using latest Lando (v3.21.0-alpha.10) on Windows 10 WSL2, PHP 8.2.15. – also have Docker Desktop installed from the Lando installation pkg, which I’ve since updated within the app.

I follow instructions from the Lando section at https://github.com/roots/radicle and after having run lando start and checking the site at https://radicle.lndo.site/ I get:

Deprecated: is_file(): Passing null to parameter #1 ($filename) of type string is deprecated in /app/vendor/roots/acorn/src/Roots/Acorn/Bootloader.php on line 376 Call Stack: 0.0001 384496 1. {main}() /app/public/index.php:0 0.0001 384808 2. require('/app/public/wp/wp-blog-header.php') /app/public/index.php:9 0.0001 385448 3. require_once('/app/public/wp/wp-load.php') /app/public/wp/wp-blog-header.php:13 0.0001 385848 4. require_once('/app/public/wp-config.php') /app/public/wp/wp-load.php:55 0.0019 424744 5. require_once('/app/public/wp/wp-settings.php') /app/public/wp-config.php:11 0.0194 1956136 6. do_action($hook_name = 'after_setup_theme') /app/public/wp/wp-settings.php:621 0.0194 1956512 7. WP_Hook->do_action($args = [0 => '']) /app/public/wp/wp-includes/plugin.php:517 0.0194 1956512 8. WP_Hook->apply_filters($value = '', $args = [0 => '']) /app/public/wp/wp-includes/class-wp-hook.php:348 0.0197 1960592 9. {closure:/app/public/content/mu-plugins/00-acorn-boot.php:14-14}('') /app/public/wp/wp-includes/class-wp-hook.php:324 0.0198 1963568 10. Roots\Acorn\Bootloader->boot($callback = ???) /app/public/content/mu-plugins/00-acorn-boot.php:14 0.0199 1963592 11. Roots\Acorn\Bootloader->getApplication() /app/vendor/roots/acorn/src/Roots/Acorn/Bootloader.php:102 0.0216 2005768 12. Roots\Acorn\Bootloader->environmentPath() /app/vendor/roots/acorn/src/Roots/Acorn/Bootloader.php:320 0.0216 2005768 13. is_file($filename = NULL) /app/vendor/roots/acorn/src/Roots/Acorn/Bootloader.php:376


The Lando alpha version I’m using does come with the warning of

We recommend ONLY using this release to help with testing.

-So I install latest stable instead, v3.20.8, and after lando start it gives me the following error:

Let's get this party started! Starting app radicle...
ERROR ==> node version 20 is not supported

Where do I go from here?

My apologies in advance if I’m misunderstanding how this works or if there’s anything else I should be doing. I was using Vagrant and Virtualbox, but this approach seems a lot more sensible and faster.

I’ll have to follow up about the PHP 8.2 deprecation errors (just use 8.1 for now like the Lando config already had by default). For the Node issue, you can revert this change for now in the Lando config:

https://github.com/roots/radicle/pull/121/files — I had merged this with without re-building my Lando environment to test, sorry about that!

From .lando.yml:

  build:
-    type: node:18
+    type: node:20

Change it back to node:18 and it should be okay. I’ll get these issues fixed soon!

1 Like

Appreciate the quick response, Ben. Which version of Lando should I continue with?

Kept latest stable Lando version, switched to node:18 and PHP8.1 as instructed.

New yarn build and lando start now gives me:

...
yarn install v1.22.19
[1/5] Validating package.json...
error radicle@: The engine "node" is incompatible with this module. Expected version ">=20.0.0". Got "18.19.0"
error Found incompatible module.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
ERROR ==>
Your app is starting up but we have already detected some things you may wish to investigate.
These only may be a problem.


 ■ One of your v3 build steps failed
   This **MAY** prevent your app from working.
   Check for errors above, fix them in your Landofile, and try again by running:
   lando rebuild


 ■ Using an unsupported version of DOCKER ENGINE
   You have version 25.0.2 but Lando wants something in the undefined range.
   If you have purposefully installed an unsupported version and know what you are doing
   you can probably ignore this warning. If not we recommend you use a supported version
   as this ensures we can provide the best support and stability.

Pulling up the .site gives me:

Deprecated: is_file(): Passing null to parameter #1 ($filename) of type string is deprecated in /app/vendor/roots/acorn/src/Roots/Acorn/Bootloader.php on line 376

I know you said you’re on it, just wanted to pass on the additional details. Thanks again

Have you also reverted the changes to package.json found in the link @ben shared above?

1 Like

@csorrentino I hadn’t, but I have now:

  "engines": {
    "node": ">=16.0.0"
    "node": ">=20.0.0"

package.json

Also tried "node": ">=18.0.0", reran yarn && yarn build and lando start. Also tried lando rebuild, if that makes a difference.

Now, only getting the Docker/Lando warning

■ Using an unsupported version of DOCKER ENGINE
You have version 25.0.2 but Lando wants something in the undefined range.
If you have purposefully installed an unsupported version and know what you are doing
you can probably ignore this warning. If not we recommend you use a supported version
as this ensures we can provide the best support and stability.

Still have the deprecated errors, but I can browse the site now. What a difference coming from Virtualbox. Blazing fast now – I’m excited!

2 Likes

The Acorn fix should hopefully land in a patch release next week. You can run this in the meantime to use it:

lando composer require roots/acorn:dev-main\#4a26ed7
3 Likes