i develop on wordpress a lot, i realy like it. i want to be part of the community.
so i read a lot of articles, some on the wp.org developer blog, some documentations, and many more, i also watch plenty of videos about block development and other wp areas.
in recent time i hear a lot about wp-env, it seems that all of the developer advocates are encouraging us -wp devs- to use wp-env, and on the surface it appear as we should use it. its simple, easy and better.
but, and here is the rant part, i have been trying to start using wp-env i think 5 or 6 times now, every time i just hit a wall, something is not as it presented in the tutorials. sometimes its errors, sometimes wp-env is not installed (after a successful installation), sometimes wp-env start take more than 7 minutes to boot up, and more…
honestly, i feel frustrated, i feel like i do something wrong or someone misinform me about wp-env.
look, this topic is not about specifc issue i need help with, its about the larger scheme of things, maybe all the developer advocates are a bit disconnected from the actual devs? or maybe its just me, browsing away failing to find what is it that im doing wrong.
i wrote before about my opinion on those tutorials – they should show how to handle errors! not easy-peasy “installation process”
i coudnt find any wp tutorials referring to errors in node/npm
i am wondering, who else is having this difficulties or frustrations?
what do i need to do -with my limited resources- to help this community grow more organically than artificially? and my own dev process on the way
]]>I to get wp-env running on Gitpod. I created a gitpod.yml and everything installs fine. The installation frontend also shows up in the browser, after I choose the language however it shows me “already installed”. I assume because the installation run further.
However, then I cannot connect to the Gitpod locahost instance, it refuses to connect.
Here is my repo if someone wants to try:
]]>wp-env start
command, I’m getting this warning:
Warning: could not find a .wp-env.json configuration file and could not determine if '/Users/me/www/my-plugin' is a WordPress installation, a plugin, or a theme.
How do I tell wp-env that my project is a theme or a plugin? My understanding after reading the docs was that wp-env would figure it out itself.
]]>I was wondering if maybe you knew how to configure wp-env with Release Candidates of WordPress. The only documentation I could find is here: https://developer.www.ads-software.com/block-editor/reference-guides/packages/packages-env/ And only tells me how to switch to the master Branch or a specific version. I am using wp-env in CI and want to use my E2E tests to make sure, that a WordPress update doesn’t break my plugin, before it is rolled out of course.
Thank you!
]]>What is going wrong here?
$ npm i @wordpress/env -D
This succeeds with no errors.
$ npx wp-env start .
Error while running docker-compose command.
Starting 4e91e843e015d9ed93f9d115ae42f10d_wordpress_1 …
Starting 4e91e843e015d9ed93f9d115ae42f10d_wordpress_1 … done
Creating 4e91e843e015d9ed93f9d115ae42f10d_cli_run …
Creating 4e91e843e015d9ed93f9d115ae42f10d_cli_run … done
[28-Jul-2023 01:00:42 UTC] PHP Warning: require_once(/var/www/html/wp-includes/Requests/src/Autoload.php): Failed to open stream: Permission denied in phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/IncludeRequestsAutoloader.php on line 64
[28-Jul-2023 01:00:42 UTC] PHP Fatal error: Uncaught Error: Failed opening required ‘/var/www/html/wp-includes/Requests/src/Autoload.php’ (include_path=’.:/usr/local/lib/php’) in phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/IncludeRequestsAutoloader.php:64
Stack trace: 0 phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/bootstrap.php(83): WP_CLI\Bootstrap\IncludeRequestsAutoloader->process(Object(WP_CLI\Bootstrap\BootstrapState)) 1 phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/wp-cli.php(32): WP_CLI\bootstrap() 2 phar:///usr/local/bin/wp/php/boot-phar.php(20): include(‘phar:///usr/loc…’) 3 /usr/local/bin/wp(4): include(‘phar:///usr/loc…’) 4 {main}
thrown in phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/IncludeRequestsAutoloader.php on line 64
255
wp-env start
starts up a new environment, I can go to the instance in a browser and everything works.
Now I want to run PHPUnit tests for my plugin in this environment, but can’t find any way to do so.
According to the doc – https://developer.www.ads-software.com/block-editor/reference-guides/packages/packages-env/, PHPUnit should be available in all containers, but wp-env run tests-cli phpunit
fails saying "phpunit": executable file not found in $PATH: unknown
I thought I may need to run composer install
, but composer install also fails due to missing composer.json
.
Can anyone please help?
]]>I am using w-env to develop a block
But when I run “wp-env start” and it stops with an error:
20 [17/17] RUN composer global require –dev yoast/phpunit-polyfills:”^1.0″
20 ERROR: process “/bin/sh -c composer global require –dev yoast/phpunit-polyfills:\”^1.0\”” did not complete successfully: unable to find user Mahrokh: no matching entries in passwd file
I am using windows 10 and installed Docker Desktop, Git and “npm -g install @wordpress/env”
“Mahrokh” is the user name of my Windows
Thank you for any help
]]>This is what I see when I run wp-env start
wp-env start
? Updating docker images.
Would appreciate any guidance related to this.
Thanks
× Error: spawn git ENOENT
at ChildProcess._handle.onexit (node:internal/child_process:283:19)
at onErrorNT (node:internal/child_process:476:16)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
GitError: Error: spawn git ENOENT
at ChildProcess._handle.onexit (node:internal/child_process:283:19)
at onErrorNT (node:internal/child_process:476:16)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
at Object.action (C:\Users\marti\AppData\Roaming\npm\node_modules\@wordpress\env\node_modules\simple-git\dist\cjs\index.js:1261:25)
at PluginStore.exec (C:\Users\marti\AppData\Roaming\npm\node_modules\@wordpress\env\node_modules\simple-git\dist\cjs\index.js:1296:29)
at C:\Users\marti\AppData\Roaming\npm\node_modules\@wordpress\env\node_modules\simple-git\dist\cjs\index.js:1661:43
at new Promise (<anonymous>)
at GitExecutorChain.handleTaskData (C:\Users\marti\AppData\Roaming\npm\node_modules\@wordpress\env\node_modules\simple-git\dist\cjs\index.js:1659:16)
at GitExecutorChain.<anonymous> (C:\Users\marti\AppData\Roaming\npm\node_modules\@wordpress\env\node_modules\simple-git\dist\cjs\index.js:1643:44)
at Generator.next (<anonymous>)
at fulfilled (C:\Users\marti\AppData\Roaming\npm\node_modules\@wordpress\env\node_modules\simple-git\dist\cjs\index.js:55:24) {
task: {
commands: [
'clone',
'--depth=1',
'--no-single-branch',
'https://github.com/WordPress/WordPress.git',
'C:\\Users\\marti\\.wp-env\\fc6be23cf5e91ade3c451d7ecd48b8e8\\WordPress'
],
format: 'utf-8',
parser: [Function: parser]
}
}
What should I do?
]]>