Erstellen Sie eine Rake-Datei im Projektstammverzeichnis.
# Rakefile
# Add your own tasks in files placed in lib/tasks ending in .rake,
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
#Unten vom Projektstammverzeichnis zur Rails-Stammverzeichnisanwendung.Geben Sie den relativen Pfad zu rb an
require_relative 'path_to_your_rails_app_root/config/application'
Rails.application.load_tasks
Das Railsways-Plug-In führt intern "Rake-Routen" aus, die anscheinend die RubyMine-API verwenden. [^ 1] (Vermutlich mit RubyMines "Run Anything") Die Befehlsausführung mit "Run Anything" erfolgt im Projektstammverzeichnis. Wenn Sie den Befehl rake mit "Anything ausführen" ausführen möchten, müssen Sie daher eine "Rake-Datei" im Projektstammverzeichnis erstellen. Es gab auch eine Beschreibung in der offiziellen Hilfe. [^ 2]
Persönlich war Railways sehr nützlich und ich habe es oft benutzt. Beim Hinzufügen eines Frontends oder Terraform zu einer Anwendung wollte ich die Verzeichnisse jedoch separat verwalten. Dann, bis jetzt, ist das Projektstammverzeichnis = Rials root, aber die Konfiguration ist wie folgt.
.
├── terratorm
├── frontend
├── backend # Rails App
├── docker-compose.yml
└── README.md
Rakefile
ist weg.
In diesem Zustand funktionierte die Eisenbahn nicht und ich war in Schwierigkeiten. Wenn Sie das Backend-Verzeichnis mit RubyMine öffnen, funktioniert es, aber wenn Sie dies tun, ist es schwierig, auf andere Verzeichnisse zuzugreifen, und es ist weniger bequem. Ich wollte Railways bei der Entwicklung nicht loslassen und fragte mich, ob ich etwas dagegen tun könnte.
Übrigens können Railsways-Ausführungsaufgaben in den Einstellungen geändert werden. (Rialsways > Settings > Rake task name) Standardmäßig ist es "Routen", und Sie können sehen, dass der Befehl ausgeführt wird, indem Sie "Rake" als Präfix angeben. Daher dachte ich zuerst, dass dies durch Ändern dieses Ausführungsbefehls behoben werden könnte, aber es war unmöglich. Ich habe den Inhalt in "-f path_to_your_rails_root / Rakefile rouets" geändert, sodass "rake -f path_to_your_rails_root / Rakefile rouets" ausgeführt wurde, aber ich habe den folgenden Fehler erhalten.
rake aborted!
No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb)
/Users/xxxxxx/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/rake-13.0.1/lib/rake/application.rb:698:in `raw_load_rakefile'
/Users/xxxxxx/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/rake-13.0.1/lib/rake/application.rb:104:in `block in load_rakefile'
/Users/xxxxxx/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/rake-13.0.1/lib/rake/application.rb:186:in `standard_exception_handling'
/Users/xxxxxx/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/rake-13.0.1/lib/rake/application.rb:103:in `load_rakefile'
/Users/xxxxxx/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/rake-13.0.1/lib/rake/application.rb:82:in `block in run'
/Users/xxxxxx/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/rake-13.0.1/lib/rake/application.rb:186:in `standard_exception_handling'
/Users/xxxxxx/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/rake-13.0.1/lib/rake/application.rb:80:in `run'
/Users/xxxxxx/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/rake-13.0.1/exe/rake:27:in `<top (required)>'
Ich habe die Rake-Datei mit der Option -f
angegeben, aber warum ...
Es war sinnlos, es mit einem absoluten Pfad anzugeben.
Außerdem kann Run Anything
ohne das Rakefile
im Projektstamm ausgeführt werden, indem das Flag -f
hinzugefügt wird.
Ich dachte, ich würde "Run Anything" intern verwenden, aber vielleicht ist es anders.
Wo auf der Erde werden Railsways-Aufgaben ausgeführt?
Bis jetzt war mir "Rakefile" nicht besonders bewusst, und als ich diesmal nachforschte, wusste ich, welche Rolle es spielt. Es war diese Ernte, die ich während meiner Forschung mehr über "Rechen" gelernt habe.
Ich hoffe dieser Artikel hilft jemandem.
Recommended Posts