Ich versuche, httpd.conf in meiner Cedar-basierten Heroku-App zu aktualisieren. Ich bin mit zu meiner Heroku-Bash gekommen
heroku run bash
und fand das conf dir unter apache. Wenn ich jedoch versuche, einen Editor vi, vim oder emacs zu öffnen, kann ich keines dieser Programme finden. Wie bearbeitest du Conf-Dateien auf Heroku?
heroku
text-editor
Dave Thomas
quelle
quelle
Antworten:
Ich habe kürzlich das Original in ein Heroku-Cli-Plugin verwandelt .
Einfach installieren:
heroku plugins:install https://github.com/naaman/heroku-vim
Und benutze:
heroku vim
Der
heroku vim
Befehl versetzt Sie in eine Bash-Shellvim
, auf der Sie installiert sind$PATH
. Alles, was Sie tun müssen, ist, Ihre Finger neu zu trainieren, umheroku vim
statt zu tippenheroku run bash
.quelle
hbuild
. Sie können Ihren Quellcode ohne Git-Commits ändern, sodass Sie Dinge auf Heroku ausprobieren können, ohne Ihren Git-Verlauf zu verfälschen.debug-heroku
, stellen Sie ihn wie folgt bereit :git push heroku debug-heroku:master
.heroku-16
Stack, da er zur Laufzeit nicht mehrlibxt
verfügbar ist . @funkenstrahlenWenn Sie nicht mit Plugins herumspielen und nur eine Kopie von Nano in Ihrem einmaligen Prüfstand haben möchten, führen Sie einfach aus
Dadurch wird eine Kopie von Nano von diesem Plugin heruntergeladen und in Ihren PFAD eingefügt.
quelle
Error opening terminal: unknown.
Es gibt,
ed
wenn Sie ein Masochist sind.quelle
ed
?q
. Wenn Sie sich im Einfügemodus befinden, drucken Sie einen Punkt.
in eine Zeile und geben Sie ihn ein, um in den Befehlsmodus zu gelangen. en.wikipedia.org/wiki/Ed_(text_editor)#ExampleEs sieht so aus, als könnten Sie vim für eine Sitzung herunterladen und installieren:
Diese Idee wurde hier gefunden .
quelle
Selbst wenn Sie die Dateien damit bearbeiten könnten,
vi
würde dies Ihr Problem wahrscheinlich nicht lösen, da das Dateisystem kurzlebig ist. Bedeutung ... Wenn Sie eine Datei über bearbeiten,heroku run bash
ändern Sie die Datei nicht für andere Dynos. Um eine Datei für alle Dynos zu ändern, müssen Sie entweder ändern, was Sie in einem Git-Repo pushen, oder das Buildpack ändern. Weitere Details:https://devcenter.heroku.com/articles/oneoff-admin-ps#formation-dynos-vs-oneoff-dynos
quelle
heroku run bash
, daher wäre vi / vim für mich sehr nützlich.heroku ps:exec
.heroku ps:exec
), eine Datei ändern, eine zweite Instanz des Servers starten und einen Port an den Prüfstand (heroku ps:forward 3000
) weiterleiten . Danncurl localhost:3000
.Das von Naaman Newbold bereitgestellte Plugin funktioniert nicht mehr mit
heroku-16
Stack, daher habe ich aus diesem aktualisierten Inhalt ein neues Plugin erstellt .Installieren:
heroku plugins:install @jasonheecs/heroku-vim
Und benutze:
heroku vim
quelle
In den Kommentaren zum Antwortlink von Brian Takita gibt es die neuere Lösung, mit der Vim an der Heroku-Konsole funktioniert:
https://gist.github.com/dvdbng/7375821b20f189c189ab1bd29392c98e
Hat mir einfach viel Zeit gespart! :) :)
quelle
Debuggen auf Heroku
Bereiten Sie den Prüfstand vor
Nach der Installation können
naaman/heroku-vim
Sie über einen neuen kurzlebigen Prüfstand erstellenheroku vim
. Wie in anderen Beiträgen richtig hervorgehoben, können Sie Ihre Änderungen beim Anzeigen über den Browser nicht sehen, da Änderungen nicht weitergegeben werden, aber ... Sie können die Änderungen tatsächlich im Dyno selbst anzeigen.Ich habe nur mit "Browsen" über Curl experimentiert, aber wenn Sie
lynx
dort ankommen oder besser noch einen SSH-Tunnel bekommen könnten, könnte das wirklich großartig sein.Starten Sie den Server
Der Webserver wird nicht ausgeführt, wenn Sie heroku-vim instanziieren. Sie müssen dies also selbst tun. In meinem Beispiel verwende ich PHP:
Sie können diesen Befehl selbst starten!
Es läuft jetzt im Hintergrund!
Locken Sie Ihre Website
Dynos werden an zufälligen Ports gestartet. Zum Glück wissen Sie, welche, weil es die
$PORT
Variable ist!Bearbeitung
Machen Sie jetzt Ihre vim-Sache, aber wenn Sie die Datei speichern und erneut locken, werden Sie die Änderungen nicht sehen. Ich verstehe nicht, wo es zwischengespeichert ist, aber es ist zwischengespeichert. Sie müssen den Server beenden und neu starten.
Server neu starten
Suchen Sie die Prozess-ID
Hier
582
ist die übergeordnete ID - verwenden Sie diese.Warten Sie nur 1 Sekunde und starten Sie den Server erneut (Sie erhalten eine neue Prozess-ID!). Wenn Sie sich mit demselben Befehl kräuseln, erhalten Sie jetzt die aktualisierte Seite.
quelle
curl
.Eine dringende Alternative zum Bearbeiten einer Datei in Heroku:
wget
die rohe URL auf Ihrer Heroku-Bashquelle
Ich habe einen vollständigen Artikel über das Bearbeiten einer Datei auf Heroku Dynos mit Nano oder Vim geschrieben , aber im Grunde genommen:
Sie können die Befehlszeile verwenden:
curl https://s3.amazonaws.com/heroku-jvm-buildpack-vi/vim-7.3.tar.gz --output vim.tar.gz mkdir vim && tar xzvf vim.tar.gz -C vim export PATH=$PATH:/app/vim/bin
Ich hoffe es hilft!
quelle
vim: error while loading shared libraries: libXt.so.6: cannot open shared object file: No such file or directory
. Aber das Buildpack hat funktioniert.Wenn Sie nur den Inhalt der Datei anzeigen möchten, dann:
$ cd folder
$ cat filename.csv
quelle
Es gibt jetzt eine Reihe von Buildpacks, die vim enthalten: https://elements.heroku.com/search/buildpacks?q=vim
Sie können der betreffenden Heroku-App mithilfe der Buildpack-Unterstützung eine davon hinzufügen .
quelle
Die alternative Möglichkeit, wenn Ihr Server PHP ausführt, besteht darin, den PHP-Dateimanager hochzuladen, eine einzelne Datei, von der Sie sie herunterladen können
http://phpfm.sourceforge.net/
quelle
Man kann Dateien in einem Prüfstand ändern und das Ergebnis sehen, ohne auf Heroku zu drücken:
heroku-buildpack-vim
Buildpack installieren :Ssh in einen Prüfstand:
Erstellen Sie start.sh und führen Sie es aus:
Weiterleitungsport 4000 (zweite Konsole):
Öffnen Sie
localhost:4000
in Ihrem Browser.start.sh
, ändern Sie eine Datei, starten Sie erneut, aktualisieren Sie die Browserseite.quelle
Ich bevorzuge den Nano-Editor. Sie können das folgende Buildpack verwenden ... https://github.com/velizarn/heroku-buildpack-nano
quelle