J'essaye de mettre à jour httpd.conf dans mon application Heroku basée sur Cedar. Je suis arrivé à ma fête Heroku avec
heroku run bash
et a trouvé le répertoire conf sous apache. Mais lorsque j'essaie d'ouvrir un éditeur vi, vim ou emacs, je ne trouve aucun de ces programmes. Comment éditez-vous les fichiers de configuration sur Heroku?
heroku
text-editor
Dave Thomas
la source
la source
Réponses:
J'ai récemment transformé l' essentiel en un plugin heroku cli .
Installez simplement:
heroku plugins:install https://github.com/naaman/heroku-vim
Et utilise:
heroku vim
La
heroku vim
commande vous déposera dans un shell bash avecvim
installé sur votre$PATH
. Tout ce que vous avez à faire est de recycler vos doigts pour taperheroku vim
au lieu deheroku run bash
.la source
hbuild
. Il vous permet de changer votre code source sans commits git, vous pouvez donc essayer des trucs sur Heroku sans gâcher votre historique git.debug-heroku
, déployer comme ceci:git push heroku debug-heroku:master
.heroku-16
pile, car elle n'est pluslibxt
disponible au moment de l'exécution . @funkenstrahlenSi vous ne voulez pas jouer avec des plugins et que vous voulez juste une copie de nano dans votre dyno unique, lancez simplement
Cela téléchargera une copie de nano à partir de ce plugin et la placera dans votre PATH.
la source
Error opening terminal: unknown.
il y a
ed
si vous êtes masochiste.la source
ed
?q
. si vous êtes en mode insertion, imprimez un point.
sur une ligne seule, puis entrez, pour passer en mode commande. en.wikipedia.org/wiki/Ed_(text_editor)#ExampleIl semble que vous puissiez télécharger et installer vim pendant une session:
Cette idée a été trouvée ici .
la source
Même si vous pouviez éditer les fichiers avec,
vi
cela ne résoudrait probablement pas votre problème car le système de fichiers est éphémère. Signification ... Si vous éditez un fichier viaheroku run bash
vous ne changez pas réellement le fichier pour d'autres dynos. Pour changer un fichier pour tous les dynos, vous devez soit changer ce que vous poussez dans un dépôt Git, soit changer le buildpack. Plus de détails:https://devcenter.heroku.com/articles/oneoff-admin-ps#formation-dynos-vs-oneoff-dynos
la source
heroku run bash
, donc vi / vim me serait très utile.heroku ps:exec
.heroku ps:exec
), modifier un fichier, démarrer une deuxième instance du serveur, transférer un port vers le dyno (heroku ps:forward 3000
). Ensuite,curl localhost:3000
.Le plugin fourni par Naaman Newbold ne fonctionne plus avec
heroku-16
stack, j'ai donc créé un nouveau plugin à partir de cette mise à jour .Installer:
heroku plugins:install @jasonheecs/heroku-vim
Et utilise:
heroku vim
la source
Dans les commentaires sur le lien de réponse de Brian Takita, il y a la solution la plus récente pour faire travailler Vim sur la console Heroku:
https://gist.github.com/dvdbng/7375821b20f189c189ab1bd29392c98e
Ça m'a fait gagner beaucoup de temps! :)
la source
Débogage sur Heroku
Préparez le dyno
Après l'installation,
naaman/heroku-vim
vous pouvez créer un nouveau dynamomètre éphémère viaheroku vim
. Comme indiqué correctement par d'autres articles, vous ne pourrez pas voir vos modifications lors de la visualisation via le navigateur car les modifications ne seront pas propagées, mais ... vous pouvez en fait afficher les modifications depuis l'intérieur du dyno lui-même.Je n'ai expérimenté que la «navigation» via curl, mais si vous pouviez y aller
lynx
, ou mieux encore obtenir un tunnel ssh, cela pourrait être vraiment génial.Démarrez le serveur
Le serveur Web ne fonctionnera pas lorsque vous instanciez heroku-vim, vous devrez donc le faire vous-même. Dans mon exemple, j'utilise php:
Vous pouvez lancer cette commande vous-même!
Il tourne maintenant en arrière-plan!
curl votre site Web
Les Dynos démarrent sur des ports aléatoires. Heureusement, vous savez lequel car c'est la
$PORT
variable!Édition
Faites votre truc vim maintenant, mais lorsque vous enregistrez le fichier et que vous le bouclez à nouveau, vous ne verrez pas les modifications. Je ne comprends pas où il est mis en cache, mais il est mis en cache. Vous devez tuer le serveur et le redémarrer.
Redémarrage du serveur
Trouvez l'identifiant du processus
Voici
582
l'identifiant du parent - utilisez-le.Attendez 1 seconde, puis redémarrez le serveur (vous obtiendrez un nouvel identifiant de processus!). Le curling via la même commande vous donnera maintenant la page mise à jour.
la source
curl
.Une alternative urgente pour éditer un fichier dans Heroku:
wget
l'URL brute de votre Heroku bashla source
J'ai écrit un article complet sur Comment éditer un fichier sur Heroku Dynos en utilisant Nano ou Vim , mais en gros:
Vous pouvez utiliser la ligne de commande:
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
J'espère que ça aide!
la source
vim: error while loading shared libraries: libXt.so.6: cannot open shared object file: No such file or directory
. Mais le buildpack a fonctionné.Si vous souhaitez simplement afficher le contenu du fichier, alors:
$ cd folder
$ cat filename.csv
la source
Il existe maintenant un certain nombre de buildpacks qui incluent vim: https://elements.heroku.com/search/buildpacks?q=vim
Vous pouvez en ajouter un à l'application Heroku en question, en utilisant le support de buildpack .
la source
la façon alternative si votre serveur exécute php est de télécharger PHP File Manager, un seul fichier et vous pouvez le télécharger à partir de
http://phpfm.sourceforge.net/
la source
On peut changer les fichiers dans un dyno et voir le résultat sans pousser vers Heroku:
Installez
heroku-buildpack-vim
buildpack:Ssh dans un dyno:
Créez et exécutez start.sh:
Transférer le port 4000 (deuxième console):
Ouvrez
localhost:4000
dans votre navigateur.start.sh
, modifiez un fichier, recommencez, actualisez la page du navigateur.la source
Je préfère l'éditeur Nano, vous pouvez utiliser le buildpack suivant ... https://github.com/velizarn/heroku-buildpack-nano
la source