App erstellen nicht möglich

Hi Leute,

Bevor ich dieses Thema gepostet habe, habe ich in diesem Forum nach Themen mit demselben Problem gesucht. Ich habe das gleiche Problem gefunden, aber keine Lösungen.

Mein Problem:

Ich versuche, eine App auf ERPNext zu erstellen, aber jedes Mal erhalte ich den gleichen Bericht.

‘test_app’ created at /home/bench/frappe-bench/apps/test_app
INFO:bench.app:installing test_app
$ ./env/bin/pip install -q -U -e ./apps/test_app
WARNING: You are using pip version 20.2.2; however, version 20.2.3 is available.
You should consider upgrading via the ‘/home/bench/frappe-bench/env/bin/python3 -m pip install --upgrade pip’ command.
$ bench build --app test_app
yarn run v1.22.5
$ FRAPPE_ENV=production node rollup/build.js --app test_app
Production mode
:heavy_check_mark: Built js/moment-bundle.min.js
:heavy_check_mark: Built js/libs.min.js
Done in 0.85s.
Traceback (most recent call last):
File “/usr/local/bin/bench”, line 11, in
load_entry_point(‘bench’, ‘console_scripts’, ‘bench’)()
File “/opt/bench/.local/lib/python3.8/site-packages/bench/cli.py”, line 41, in cli
bench_command()
File “/opt/bench/.local/lib/python3.8/site-packages/click/core.py”, line 764, in call
return self.main(*args, **kwargs)
File “/opt/bench/.local/lib/python3.8/site-packages/click/core.py”, line 717, in main
rv = self.invoke(ctx)
File “/opt/bench/.local/lib/python3.8/site-packages/click/core.py”, line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/opt/bench/.local/lib/python3.8/site-packages/click/core.py”, line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/opt/bench/.local/lib/python3.8/site-packages/click/core.py”, line 555, in invoke
return callback(*args, **kwargs)
File “/opt/bench/.local/lib/python3.8/site-packages/bench/commands/make.py”, line 69, in new_app
new_app(app_name)
File “/opt/bench/.local/lib/python3.8/site-packages/bench/app.py”, line 169, in new_app
install_app(app, bench_path=bench_path)
File “/opt/bench/.local/lib/python3.8/site-packages/bench/app.py”, line 190, in install_app
restart_supervisor_processes(bench_path=bench_path)
File “/opt/bench/.local/lib/python3.8/site-packages/bench/utils.py”, line 519, in restart_supervisor_processes
supervisor_status = subprocess.check_output([‘sudo’, ‘supervisorctl’, ‘status’], cwd=bench_path)
File “/usr/lib/python3.8/subprocess.py”, line 411, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File “/usr/lib/python3.8/subprocess.py”, line 512, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command ‘[‘sudo’, ‘supervisorctl’, ‘status’]’ returned non-zero exit status 3.

what I’ve already tried after the report:

Den Eintrag in der Textdatei apps.txt, die sich in \ sites befindet gelöscht

Das Verzeichnisses für die neue App (test_app) gelöscht

gab dem Benutzer Schreibberechtigungen für den Ordner “Apps”

und dann erneut versucht mit:

sudo bench --site [Seitenname] remove-from-installed-apps test_app
bench new-app test_app

hat sich leider nix geändert.

Weiß jemand da vielleicht weiter?

Beste Grüße

Hi, lt. deiner Ausgabe führt die Ausführung des Befehls “sudo supervisorctl status” zu dem exit status 3. Hast du das mal als Frappe-User in der Konsole probiert? Ggf. kannst du daraus Rückschlüsse ziehen?

was heißt als frappe-user und konsole?

Gruß

Leider habe ich keine weiteren Infos zu deiner Umgebung. Mit Konsole meine ich die Shell Sitzung, auf der du z.B. die bench-Befehle ausführst. Was dein Frappe-User ist, kann ich dir nicht sagen, den bestimmst du i.d.R. bei der Installation selbst. Führ einfach mal “sudo supervisorctl status” aus. Kann es des Weiteren sein, dass du in einer Production-Umgebung versuchst eine App zu erstellen?

bench@erpnext:/home/bench/frappe-bench$ sudo supervisorctl status

frappe-bench-redis:frappe-bench-redis-cache FATAL Exited too quickly (process log may have details)
frappe-bench-redis:frappe-bench-redis-queue FATAL Exited too quickly (process log may have details)
frappe-bench-redis:frappe-bench-redis-socketio FATAL Exited too quickly (process log may have details)
frappe-bench-web:frappe-bench-frappe-web STOPPED Not started
frappe-bench-web:frappe-bench-node-socketio FATAL Exited too quickly (process log may have details)
frappe-bench-workers:frappe-bench-frappe-default-worker-0 FATAL Exited too quickly (process log may have details)
frappe-bench-workers:frappe-bench-frappe-long-worker-0 FATAL Exited too quickly (process log may have details)
frappe-bench-workers:frappe-bench-frappe-schedule FATAL Exited too quickly (process log may have details)
frappe-bench-workers:frappe-bench-frappe-short-worker-0 FATAL Exited too quickly (process log may have details)

kann man daraus was wesentliches entnehmen?

vll liegt das ja daran? wenn ja, was sagt das aus? und wie startet man bench-frappe-web

beste grüße

Es hat den Anschein, als ob du tatsächlich in einem Production-Setup versuchst eine App zu erstellen. Du solltest dazu eine Developent Umgebung nutzen: GitHub - frappe/bench: CLI to manage Multi-tenant deployments for Frappe apps Ich selbst nutze meist easy-install in einer VM, aber die Docker-Container erfreuen sich auch großer Beliebtheit.

Woran siehst du, dass meine Version ein Produktionssetup, statt einer Developmentumgebung ist?

Und ist es in einem Produktionssetup generell nicht möglich eine App zu erstellen?

Gruß

Zudem bin ich gerade dabei von Produktionsumgebung zu Entwicklerumgebung umzustellen. Kam dort erstmal auf neue Hürden, dennoch würde ich gerne wissen was die einzelnen “exit Statusse” bedeuten (also 1,2,3,4 und gegebenfalls andere) . Find bislang nichts im Netz.

Und danke für deine Hilfe bisher

Grüße

wenn ich jetzt das richtig verstanden habe, so ist man automatisch im developermode wenn man Frappe mit dem Befehl “bench start” startet und das mach ich immer

Exit Codes ungleich 0 bedeuten generell einen Fehler. Es gibt Unterschiede zwischen Prod und Dev. Hier ist eine Anleitung zum wechseln. Stopping Production and starting Development · frappe/bench Wiki · GitHub Da siehst du, dass nginx und supervisor ausgeschaltet werden. Stattdessen wird dann, wie du schon festgestellt hast, “bench start” verwendet. Außerdem musst du noch den develeoper mode in der der site_config bzw. common_site_config.json aktivieren.

Ok thx Dave,

ich habe jetzt eine App erstellen können. Zumindest so wie es mir scheint, ist sie jetzt erstellt.


Wechsel zu Development-Umgebung:

cd frappe-bench
bench disable-production

Remove 'restart_supervisor_on_update' from sites/common_site_config.json if it exists

sudo service nginx stop
sudo service supervisor stop
bench setup procfile
bench start

also dann bedeutet es ja, dass ERPNext während der Development-Umgebung auf dem Browser nicht zu erreichen ist, da nginx zu der Zeit ausgestellt ist.


Service Unavailable

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.


Was den manuellen Teil betrifft, hat es bei mir leider nicht funktioniert. Also der hier

OR Manually by

cd frappe-bench
bench switch-to-develop (Optional : Will change your branches to the "develop" branch)
rm config/supervisor.conf
rm config/nginx.conf

das Löschen der beiden conf-Dateien schon, aber nicht der switch-to-develop Befehl.

bench@erpnext:/home/bench/frappe-bench$ bench switch-to-develop

Traceback (most recent call last):
File “/usr/local/bin/bench”, line 11, in
load_entry_point(‘bench’, ‘console_scripts’, ‘bench’)()
File “/opt/bench/.local/lib/python3.8/site-packages/bench/cli.py”, line 41, in cli
bench_command()
File “/opt/bench/.local/lib/python3.8/site-packages/click/core.py”, line 764, in call
return self.main(*args, **kwargs)
File “/opt/bench/.local/lib/python3.8/site-packages/click/core.py”, line 717, in main
rv = self.invoke(ctx)
File “/opt/bench/.local/lib/python3.8/site-packages/click/core.py”, line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/opt/bench/.local/lib/python3.8/site-packages/click/core.py”, line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/opt/bench/.local/lib/python3.8/site-packages/click/core.py”, line 555, in invoke
return callback(*args, **kwargs)
File “/opt/bench/.local/lib/python3.8/site-packages/bench/commands/update.py”, line 56, in switch_to_develop
switch_to_develop(apps=[‘frappe’, ‘erpnext’])
File “/opt/bench/.local/lib/python3.8/site-packages/bench/app.py”, line 423, in switch_to_develop
switch_branch(‘develop’, apps=apps, bench_path=bench_path, upgrade=upgrade)
File “/opt/bench/.local/lib/python3.8/site-packages/bench/app.py”, line 381, in switch_branch
repo = git.Repo(app_dir)
File “/opt/bench/.local/lib/python3.8/site-packages/git/repo/base.py”, line 183, in init
raise InvalidGitRepositoryError(epath)
git.exc.InvalidGitRepositoryError: /home/bench/frappe-bench/apps/frappe


Noch eine Frage:

laut der Aussage von Joseph_Marie_Alba aus dem Discuss,

heißt es, dass man so in den Produktionsmodus wieder kommt:

     sudo service supervisor start
     sudo service nginx start

ohne

     bench start

Das Problem bei mir ist, dass ich mein ERPNext System auf dem Browser nicht erreiche, wenn vorher

     bench start

nicht erfolgte.


Sorry!

We will be back soon.

Don’t panic. It’s not you, it’s us.
Most likely, our engineers are updating the code, and it should take a minute for the new code to load into memory.

Try refreshing after a minute or two.


Aber standartgemäß muss man die Seite scheinbar ja trotzdem erreichen können oder?

Weil

     bench start

bedeutet = Development-Umgebung

und ohne

     bench start

= Produktionsumgebung

Gruß

Juri

-Das wechseln der branch ist nur optional.
-Fürs entwickeln ists normal, dass du mit “bench start” arbeitest. Dieses ersetzt sozusagen nginx. Du kannst den Prozess ggf. mit screen auch so starten, dass er deine Anmeldesitzung überdauert. Wenn du bench so startest, hast du auch gleich Debug (print) Ausgaben aus deinem Code im Zugriff.

Ich kann nur spekulieren, in was für einem Zustand dein System sich gerade befindet. Aber eine Neuinstallation auf Debian 10 minimal dauert ca. 30 Minuten. Wäre das ggf. eine Option?

Ok ich denke ich habs.

Ich gebe sobald ich Zeit finde noch eine Rückmeldung, woran es lag.

Also zumindest läuft jetzt bei mir ERPNext im Produktionsmodus ohne den Befehl

bench start

vorher eingeben zu müssen. (So wie das auch sein soll).

Danke und Gruß