Error creating APP in docker environment

https://github.com/frappe/frappe_docker/blob/main/docs/setup-options.md

according to the above url, I completed the docker installation, mysql and redis use the existing external databases, I created two sites, respectively installed frappe and nexterp, everything is very smooth and normal, when I tried to create a new APP in the terminal, I met some problems. I hope you can help me, thank you!

After entering the backend container, I execute:

sudo bench new-app ding

Then the following error appears:

$ supervisorctl restart frappe:

frappe: ERROR (no such group)

frappe: ERROR (no such group)


Based on some tips in the forum, like adding supervisor.conf

chown=frappe:frappe

But the problem was not solved.

I followed some tips on the website and executed it at the terminal:

bench setup production frappe

which results in a new error, which is as follows:


frappe@211d8c9fbed9:~/frappe-bench$ sudo bench new-app Ding
App Title [Ding]:
App Description:
App Description: dING
App Publisher: Zen
App Email: 551096521@qq.com
App License [MIT]:
Create GitHub Workflow action for unittests [y/N]: n
‘ding’ created at /home/frappe/frappe-bench/apps/ding
Installing ding
$ /home/frappe/frappe-bench/env/bin/python -m pip install --quiet --upgrade -e /home/frappe/frappe-bench/apps/ding
$ bench build --app ding
:heavy_check_mark: Application Assets Linked

Traceback (most recent call last):
File “/usr/local/lib/python3.10/runpy.py”, line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File “/usr/local/lib/python3.10/runpy.py”, line 86, in _run_code
exec(code, run_globals)
File “/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py”, line 109, in
main()
File “/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py”, line 18, in main
click.Group(commands=commands)(prog_name=“bench”)
File “/home/frappe/frappe-bench/env/lib/python3.10/site-packages/click/core.py”, line 829, in call
return self.main(*args, **kwargs)
File “/home/frappe/frappe-bench/env/lib/python3.10/site-packages/click/core.py”, line 782, in main
rv = self.invoke(ctx)
File “/home/frappe/frappe-bench/env/lib/python3.10/site-packages/click/core.py”, line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/home/frappe/frappe-bench/env/lib/python3.10/site-packages/click/core.py”, line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/home/frappe/frappe-bench/env/lib/python3.10/site-packages/click/core.py”, line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/home/frappe/frappe-bench/env/lib/python3.10/site-packages/click/core.py”, line 610, in invoke
return callback(*args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/commands/utils.py”, line 82, in build
bundle(mode, apps=apps, hard_link=hard_link, verbose=verbose, skip_frappe=skip_frappe)
File “/home/frappe/frappe-bench/apps/frappe/frappe/build.py”, line 255, in bundle
check_node_executable()
File “/home/frappe/frappe-bench/apps/frappe/frappe/build.py”, line 279, in check_node_executable
node_version = Version(subprocess.getoutput(“node -v”)[1:])
File “/home/frappe/frappe-bench/env/lib/python3.10/site-packages/semantic_version/base.py”, line 105, in init
major, minor, patch, prerelease, build = self.parse(version_string, partial)
File “/home/frappe/frappe-bench/env/lib/python3.10/site-packages/semantic_version/base.py”, line 318, in parse
raise ValueError(‘Invalid version string: %r’ % version_string)
ValueError: Invalid version string: ‘bin/sh: 1: node: not found’
ERROR:
subprocess.CalledProcessError: Command ‘bench build --app ding’ returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File “/usr/local/bin/bench”, line 8, in
sys.exit(cli())
File “/usr/local/lib/python3.10/site-packages/bench/cli.py”, line 127, in cli
bench_command()
File “/usr/local/lib/python3.10/site-packages/click/core.py”, line 1130, in call
return self.main(*args, **kwargs)
File “/usr/local/lib/python3.10/site-packages/click/core.py”, line 1055, in main
rv = self.invoke(ctx)
File “/usr/local/lib/python3.10/site-packages/click/core.py”, line 1657, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/usr/local/lib/python3.10/site-packages/click/core.py”, line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/usr/local/lib/python3.10/site-packages/click/core.py”, line 760, in invoke
return __callback(*args, **kwargs)
File “/usr/local/lib/python3.10/site-packages/bench/commands/make.py”, line 181, in new_app
new_app(app_name, no_git)
File “/usr/local/lib/python3.10/site-packages/bench/app.py”, line 541, in new_app
install_app(app, bench_path=bench_path)
File “/usr/local/lib/python3.10/site-packages/bench/app.py”, line 586, in install_app
build_assets(bench_path=bench_path, app=app)
File “/usr/local/lib/python3.10/site-packages/bench/utils/bench.py”, line 351, in build_assets
exec_cmd(command, cwd=bench_path, env={“BENCH_DEVELOPER”: “1”})
File “/usr/local/lib/python3.10/site-packages/bench/utils/init.py”, line 158, in exec_cmd
raise CommandFailedError from subprocess.CalledProcessError(return_code, cmd)
bench.exceptions.CommandFailedError


I saw that some netizens suggested lowering the version of bench, and I was afraid that new problems would occur after lowering the version. Is there only one way to reduce the version of bench?

Use development setup you are using production setup for development, it will not work.

Yes, that’s right. My system is currently in production mode. How can I do the right thing for my problem?

Read the FAQ, it says setup development environment locally on your laptop with VSCode and docker and start development.

Create app, git repo for app code and commit code to your app repository

Then use the image building process, specify list of apps to build in apps.json

deploy the image on a staging or testing server to test.

Repeat the process if changes are needed.

if everything is perfect for release, publish a release version, tag and build image,

use the tagged version of image on production.

The problem is, I made the mistake of creating a blank APP in the first step :joy: