Какой текстовый редактор доступен в Heroku bash shell?
Я пытаюсь обновить httpd.conf в моем приложении Heroku на основе кедра. Я добрался до своего Heroku bash с
heroku run bash
и нашел conf dir под apache. Но когда я пытаюсь открыть любой редактор vi, vim или emacs, я не могу найти ни одну из этих программ. Как вы редактируете файлы conf на Heroku?
10 ответов:
Я недавно перевел оригинальный Гист на heroku CLI plugin.
просто установить:
heroku plugins:install https://github.com/naaman/heroku-vimи использовать:
heroku vimThe
heroku vimкоманда бросит вас в оболочку bash сvimустановленных на вашем$PATH. Все, что вам нужно сделать, это переучивать пальцы, чтобы набратьheroku vimвместоheroku run bash.
Если вы не хотите возиться с плагинами и просто хотите получить копию nano в своем одноразовом dyno, просто запустите
mkdir /app/nano curl https://github.com/Ehryk/heroku-nano/raw/master/heroku-nano-2.5.1/nano.tar.gz --location --silent | tar xz -C /app/nano export PATH=$PATH:/app/nanoЭто позволит загрузить копию nano из плагин и поставить его на вашем пути.
похоже, вы можете скачать и установить vim за один сеанс:
#!/usr/bin/env bash 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эта идея была найдена здесь.
даже если вы можете редактировать файлы с помощью
viвероятно, это не решит вашу проблему, потому что файловая система эфемерна. Значение... Если вы редактируете файл черезheroku run bashвы на самом деле не изменение файла на других динамометрических стендах. Изменить файл для всех динамометрических стендах необходимо либо изменить то, что вы пуша в репозиторий Git или изменить buildpack-пакет. Еще details:
https://devcenter.heroku.com/articles/oneoff-admin-ps#formation-dynos-vs-oneoff-dynos
отладка на Heroku
подготовить Дино
после установки
naaman/heroku-vimвы можете создать новый эфемерный Дино черезheroku vim. Как правильно указано в других сообщениях, вы не сможете увидеть свои изменения при просмотре через браузер, потому что изменения не будут распространяться, но... вы реально можете увидеть изменения внутри самого Дино.я только экспериментировал с "просмотром" через curl, но если бы вы могли получить
lynxтам, или лучше тем не менее, получить ssh-туннель-может быть действительно здорово.запустить сервер
веб-сервер не будет работать при создании экземпляра heroku-vim, поэтому вам нужно будет сделать это самостоятельно. В моем примере я запускаю php:
~ $ cat Procfile web: vendor/bin/heroku-php-apache2вы можете запустить эту команду сами!
~ $ vendor/bin/heroku-php-apache2 2>/dev/null & [2] 845сейчас он работает в фоновом режиме!
завить свой сайт
Dynos запускается на случайных портах. К счастью, вы знаете, какой из них, потому что это
$PORTпеременной!~ $ curl localhost:$PORT Hello World!редактирование
Сделайте свою вещь vim сейчас, но когда вы сохраните файл и снова свернетесь - вы не увидите изменений. Я не понимаю, где он кэшируется, но он кэшируется. Вы должны убить сервер и перезапустить его.
перезапуск сервера
найти идентификатор процесса
~ $ ps -f UID PID PPID C STIME TTY TIME CMD u6897 3 1 0 05:34 ? 00:00:00 bash u6897 582 3 0 05:53 ? 00:00:00 bash vendor/bin/heroku-php-apache2 u6897 652 582 0 05:53 ? 00:00:00 bash vendor/bin/heroku-php-apache2 u6897 653 582 0 05:53 ? 00:00:00 bash vendor/bin/heroku-php-apache2здесь
582является родительским идентификатором - используйте это.kill 582подождите 1 секунда, а затем снова запустите сервер (вы получите новый идентификатор процесса!). Керлинг с помощью той же команды теперь даст вам обновленную страницу.
в комментариях к ссылке на ответ Брайана Такиты есть более свежее решение, чтобы получить Vim работа на консоли Heroku:
https://gist.github.com/dvdbng/7375821b20f189c189ab1bd29392c98e
просто сэкономил мне много времени! :)
срочная Альтернатива для редактирования файла в Heroku:
- скопируйте его на какой-нибудь удаленный хост. Мне нравится использовать Gist
- редактирование файла на Суть, а по окончании получить исходный URL-адрес к нему
wgetнеобработанный URL на вашем Heroku bash- скопируйте извлеченный файл в путь к исходному файлу
альтернативный способ, если ваш сервер запускает php, - загрузить PHP File Manager, это один файл, и вы можете загрузить его из
http://phpfm.sourceforge.net/
теперь есть несколько пакетов сборки, которые включают vim:https://elements.heroku.com/search/buildpacks?q=vim
вы можете добавить один из них в рассматриваемое приложение Heroku, используя поддержка buildpack поддержка.