Dito, es tritt ein Fehler auf, wenn versucht wird, das Admin-Benutzerprofil zu erstellen. Es funktioniert, nachdem ein Schritt zum yarn install hinzugefügt wurde, bevor der Admin erstellt wird (wie von @zergov vorgeschlagen). Ich habe eine PR erstellt, um dies hinzuzufügen: DEV: Yarn install to avoid error during initial migration seed by dsims · Pull Request #20866 · discourse/discourse · GitHub
Nachverfolgung:
Docker Rootless-Modus verursacht unter Linux die gleichen Berechtigungszuordnungsprobleme wie Docker Desktop. Die von mir gepostete Problemumgehung funktioniert auch mit dieser Konfiguration.
Ich bin mir bei der Problemumgehung jedoch nicht ganz sicher und bin daher zu einer nativen Docker-Installation auf meinem Linux-System gewechselt. Ich habe meinen Nicht-Sudo-Benutzer zur docker-Gruppe hinzugefügt und jetzt werden die Berechtigungen im Container korrekt zugeordnet und ich kann Docker-Befehle ohne sudo ausführen.
Danke @dsims, ich habe den PR gerade zusammengeführt ![]()
Ich komme hierhin, wenn ich podman benutze (versuche, d/boot_dev --init auszuführen):
Installing gems...
Error response from daemon: environment variable "RAILS_ENV" badly formed, must be key=value
Ich schätze, ich muss den nativen Entwicklungsumgebungsansatz verwenden, da ich Docker nicht auf meinem Fedora-Desktop installieren werde, da es seit Jahren kaputt ist (mit zufälligen Dingen wie nicht funktionierenden Pushes) und Podman ohne Probleme viel besser funktioniert (für Projekte, die es unterstützen).
Fehler
Fehler Die Datei „/src/app/assets/javascripts/discourse/yarn-error.log“ konnte nicht geschrieben werden: „EACCES: Berechtigung verweigert, open ‚/src/app/assets/javascripts/discourse/yarn-error.log‘“
Fehler Ein unerwarteter Fehler ist aufgetreten: „EACCES: Berechtigung verweigert, mkdir ‚/src/app/assets/javascripts/node_modules‘“.
Warum erhalte ich nach der Ausführung von d/boot_dev --init diese Fehlermeldung?
3.0" hat eine falsche Peer-Abhängigkeit " @uppy/core@^3.2.1".
[4/4] Erstellen neuer Pakete...
$ ../run-patch-package
patch-package 8.0.0
Patches werden angewendet...
@ember/jquery@2.0.0 ✔
babel-plugin-debug-macros@0.3.4 ✔
content-tag@1.1.1 ✔
ember-source@3.28.12 ✔
ember-this-fallback@0.3.1 (1 initial) ✔
ember-this-fallback@0.3.1 (2 themes) ✔
virtual-dom@2.1.1 ✔
Fertig in 101,54s.
Datenbank wird migriert...
rake aborted!
Discourse::Utils::CommandError: /src/lib/discourse.rb:138:in `exec': node:internal/modules/cjs/loader:1080
throw err;
^
Error: Kann das Modul 'esbuild' nicht finden
Require stack:
- /src/app/assets/javascripts/theme-transpiler/build.js
at Module._resolveFilename (node:internal/modules/cjs/loader:1077:15)
at Module._load (node:internal/modules/cjs/loader:922:27)
at Module.require (node:internal/modules/cjs/loader:1143:19)
at require (node:internal/modules/cjs/helpers:121:18)
at Object.<anonymous> (/src/app/assets/javascripts/theme-transpiler/build.js:3:17)
at Module._compile (node:internal/modules/cjs/loader:1256:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
at Module.load (node:internal/modules/cjs/loader:1119:32)
at Module._load (node:internal/modules/cjs/loader:960:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [ '/src/app/assets/javascripts/theme-transpiler/build.js' ]
}
Node.js v18.17.1
/src/lib/discourse.rb:172:in `execute_command'
/src/lib/discourse.rb:138:in `exec'
/src/lib/discourse.rb:34:in `execute_command'
/src/lib/discourse_js_processor.rb:119:in `build_theme_transpiler'
/src/lib/tasks/assets.rake:313:in `block in <main>'
Tasks: TOP => db:migrate => assets:precompile:theme_transpiler
(Vollständigen Trace anzeigen, indem die Aufgabe mit --trace ausgeführt wird)
Möglicherweise im Zusammenhang damit: Install Discourse for development using Docker - #239 by zergov
Versuchen Sie vielleicht, in das Verzeichnis /var/www/discourse zu wechseln und Folgendes auszuführen:
yarn install
Hat jemand einige Benchmarks dazu?
Ich habe in diesem Thema gesucht, aber nichts Spezifisches gefunden. Ich frage mich, ob jemand die normale und die Docker-Installation ausprobiert hat, um sie zu vergleichen ![]()
Ein paar Hinweise für diejenigen, die versuchen, das in diesem Thema beschriebene Verfahren zu verwenden:
-
Schritt 1 hat bei mir nicht funktioniert. Um Docker zu installieren, musste ich das hier beschriebene „Convenience Script“ verwenden: Ubuntu | Docker Docs
-
Sie benötigen
sudofür alle Befehle -
Es scheint ein fehlender Schritt 3 zu geben: Sie müssen ein Administratorkonto erstellen. Um einen neuen Administrator zu erstellen, führen Sie den folgenden Befehl aus:
sudo d/rails admin:create -
Wie im Thema angegeben, funktionieren Symlinks zum Windows-Dateisystem nicht, wenn Sie WSL verwenden. Wenn Sie es trotzdem versuchen, wird die Installation fehlschlagen und Sie erhalten fehlende Gems. Um Ihre Gems zurückzubekommen, führen Sie aus:
sudo d/bundle install
Hallo.
Ich versuche, die Entwicklungsumgebung unter Debian 12 zu installieren.
Wenn ich den Befehl ausführe…
d/boot_dev --init
…erscheint nach einer Weile folgender Fehler:
$ ../run-patch-package
patch-package 8.0.0
Applying patches...
@ember/jquery@2.0.0 ✔
babel-plugin-debug-macros@0.3.4 ✔
content-tag@1.1.2 ✔
ember-source@3.28.12 ✔
ember-this-fallback@0.4.0 (1 deprecation-name) ✔
ember-this-fallback@0.4.0 (2 themes) ✔
virtual-dom@2.1.1 ✔
Done in 70.39s.
Migrating database...
rake aborted!
Discourse::Utils::CommandError: /src/lib/discourse.rb:138:in `exec': node:internal/modules/cjs/loader:1080
throw err;
^
Error: Cannot find module 'esbuild'
Require stack:
- /src/app/assets/javascripts/theme-transpiler/build.js
at Module._resolveFilename (node:internal/modules/cjs/loader:1077:15)
at Module._load (node:internal/modules/cjs/loader:922:27)
at Module.require (node:internal/modules/cjs/loader:1143:19)
at require (node:internal/modules/cjs/helpers:121:18)
at Object.<anonymous> (/src/app/assets/javascripts/theme-transpiler/build.js:3:17)
at Module._compile (node:internal/modules/cjs/loader:1256:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
at Module.load (node:internal/modules/cjs/loader:1119:32)
at Module._load (node:internal/modules/cjs/loader:960:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [ '/src/app/assets/javascripts/theme-transpiler/build.js' ]
}
Node.js v18.17.1
/src/lib/discourse.rb:172:in `execute_command'
/src/lib/discourse.rb:138:in `exec'
/src/lib/discourse.rb:34:in `execute_command'
/src/lib/discourse_js_processor.rb:119:in `build_theme_transpiler'
/src/lib/tasks/assets.rake:313:in `block in <main>'
Tasks: TOP => db:migrate => assets:precompile:theme_transpiler
(See full trace by running task with --trace)
Mache ich etwas falsch?
yarn install # dies wird alles neu installieren, einschließlich esbuild
# Entfernen des zuvor fehlerhaft installierten Containers
docker stop discourse_dev
docker rm discourse_dev
d/boot_dev --init
# Wenn erfolgreich, werden Sie zur Eingabe der Admin-E-Mail aufgefordert.
Hallo. Nachdem ich einen Symlink im discourse/plugin-Verzeichnis platziert und dann neu gestartet habe:
$ d/rails s
erhalte ich folgende Fehlermeldung:
https://github.com/rails/sprockets (at 3.x@f4d3dae) is not yet checked out. Run `bundle install` first
„Bundle install“ löst das Problem nicht. Ich habe eine Reihe von Dingen ausprobiert, aber nichts scheint dies zu beheben. Wenn ich den Symlink im Plugins-Verzeichnis entferne und neu starte, funktioniert alles wieder einwandfrei. Ich habe es mit verschiedenen offiziellen Plugins ausprobiert, von denen ich weiß, dass sie auf anderen Discourse-Installationen funktionieren.
Weiß jemand, warum das passiert?
Können Sie stattdessen d/bundle install versuchen?
Ich kann d/bundle install ausführen, das funktioniert und ich kann dann alles starten, aber das Plugin scheint in Discourse nicht installiert zu sein.
Also führe ich d/shutdown_dev; d/boot_dev aus, aber danach gibt es wieder die alte Fehlermeldung https://github.com/rails/sprockets (at 3.x@f4d3dae) is not yet checked out. Run `bundle install` first
vOv
Ich habe dies in
verbessert.
Es ist definitiv verwirrend, jedes Mal d/bundle install manuell ausführen zu müssen, wenn Sie die Entwicklungsumgebung starten. In der Zwischenzeit müssen Sie leider jedes Mal d/bundle install ausführen, wenn Sie d/boot_dev ausführen.
Ich bekomme immer wieder diesen Fehler.
error Datei konnte nicht geschrieben werden „/src/app/assets/javascripts/discourse/yarn-error.log“: „EACCES: permission denied, open ‘/src/app/assets/javascripts/discourse/yarn-error.log’“
error Ein unerwarteter Fehler ist aufgetreten: „EACCES: permission denied, mkdir ‘/src/app/assets/javascripts/node_modules’“.
hmmm
Ich glaube, das ist derselbe wie hier - kann aber nirgends finden, wo er gelöst wurde.
Führen Sie dies als Nicht-Root-Benutzer ohne sudo aus?
Es war der Root-Benutzer.
Ich versuche, Discourse Development in einem WSL Docker zu installieren - ich bin bis zum Glückwunschbildschirm gekommen, aber ohne ein Admin-Konto stecke ich fest.
Wenn ich versuche, d/rails admin:create auszuführen, erhalte ich die Fehlermeldung stat bin/rails: no such file or directory: unknown.
Was fehlt mir?
Danke