Frappe 'basic' bench commands ok but no Framework commands - how to restore latter?

Please I seek help with a bench environment command problem -

‘bench --help’ usually lists two sets of commands: the first set ‘basic’ Commands and the second lists Framework commands.

In my case the Framework commands all respond ‘Error: No such command’ for example

frappe@erpnext:~/frappe-bench$ bench --version
4.1.0
frappe@erpnext:~/frappe-bench$ bench version
Usage: bench [OPTIONS] COMMAND [ARGS]…

Error: No such command “version”.

My question is how to restore the Framework commands - possibly a ‘basic’ bench command will restore my environment or what must I do here?

Another example case ‘bench start’ aborts since ‘worker’ and ‘serve’ commands are not found…

11:54:14 redis_cache.1 | [14693] 05 Feb 11:54:14.956 # Server started, Redis version 2.8.4
11:54:14 redis_cache.1 | [14693] 05 Feb 11:54:14.956 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add ‘vm.overcommit_memory = 1’ to /etc/sysctl.conf and then reboot or run the command ‘sysctl vm.overcommit_memory=1’ for this to take effect.
11:54:14 redis_cache.1 | [14693] 05 Feb 11:54:14.956 * The server is now ready to accept connections on port 13000
11:54:18 socketio.1 | listening on *: 9000
11:54:24 web.1 | Usage: bench [OPTIONS] COMMAND [ARGS]…
11:54:24 web.1 |
11:54:24 web.1 | Error: No such command “serve”.
11:54:24 worker_long.1 | Usage: bench [OPTIONS] COMMAND [ARGS]…
11:54:24 worker_long.1 |
11:54:24 worker_long.1 | Error: No such command “worker”.
11:54:24 system | web.1 stopped (rc=2)
11:54:24 system | sending SIGTERM to redis_socketio.1 (pid 14660)
11:54:24 system | sending SIGTERM to worker_long.1 (pid 14663)
11:54:24 system | sending SIGTERM to watch.1 (pid 14665)
11:54:24 system | sending SIGTERM to redis_queue.1 (pid 14669)
11:54:24 system | sending SIGTERM to schedule.1 (pid 14681)
11:54:24 system | sending SIGTERM to worker_default.1 (pid 14682)
11:54:24 system | sending SIGTERM to socketio.1 (pid 14689)
11:54:24 system | sending SIGTERM to redis_cache.1 (pid 14691)
11:54:24 system | sending SIGTERM to worker_short.1 (pid 14695)
11:54:24 redis_socketio.1 | [14662 | signal handler] (1517856864) Received SIGTERM, scheduling shutdown…
11:54:24 redis_socketio.1 | [14662] 05 Feb 11:54:24.655 # User requested shutdown…
11:54:24 redis_socketio.1 | [14662] 05 Feb 11:54:24.655 # Redis is now ready to exit, bye bye…
11:54:24 system | redis_socketio.1 stopped (rc=-15)
11:54:24 system | worker_long.1 stopped (rc=-15)
11:54:24 schedule.1 | Usage: bench [OPTIONS] COMMAND [ARGS]…
11:54:24 schedule.1 |
11:54:24 schedule.1 | Error: No such command “schedule”.
11:54:24 redis_queue.1 | [14679 | signal handler] (1517856864) Received SIGTERM, scheduling shutdown…
11:54:24 system | watch.1 stopped (rc=-15)
11:54:24 redis_queue.1 | [14679] 05 Feb 11:54:24.755 # User requested shutdown…
11:54:24 redis_queue.1 | [14679] 05 Feb 11:54:24.755 # Redis is now ready to exit, bye bye…
11:54:24 system | redis_queue.1 stopped (rc=-15)
11:54:24 system | schedule.1 stopped (rc=-15)

1 Like

‘bench build’ did not fix the problem as @sagar suggested here since that is a Framework command

Login dosn't work after install sucsesfull

Other similar case reports:

Bench start not working
Problem while starting setup?
Crashed bench custom app recovery




After looking over the bench code, in the end I found to rerun ‘bench update’ a few more times resolved the ‘missing frappe commands’ problem.