Эта ошибка - известная проблема в синтаксической ошибке YAML, когда строка содержит двоеточие + пробел, но при использовании Ansible после чтения ошибка решение, которое работает, заключалось в удалении символа пробела после символа двоеточия':', также в tmuxinator это была проблема
- gst-remote -e "Shampoo.ShampooServer startOn:\s9090 login:\s'st' pass:\s'st'."
Это работает для ansible / phyton, но не для ruby / tmuxinator
Это решение не 'работать для меня, я пытался избежать де пробела внутри строки \, \ s, или даже \ u0020, ничего не получалось, в конечном итоге читал эти два поста, кажется, что ruby и python используют эту строку по-разному, с ruby Iиногда получаю эту ошибку undefined method
shellescape 'для Hash`.
Поэтому я продолжаю искать и
Объяснение YAML 1
Объяснение YAML2
с первой ссылки:
Обычные скаляры (поле значения) никогда не должны содержать комбинаций символов «:» и «#».Такие комбинации могут привести к неоднозначности с ключом сопоставления: пары значений и комментарии.
Кроме того, внутри коллекций потоков или при использовании в качестве неявных ключей простые скаляры не должны содержать «[», «]», «{»,«} »И«, »символы.Эти символы могут привести к неоднозначности со структурами сбора потока.
Вы можете попробовать следующие опции:
YAML
Итак, окончательный файл yaml был:
# ~/.tmuxinator/st.yaml
name: st
root: ~/learn/gnu-smalltalk
attach: false
# Runs before everything. Use it to start daemons etc.
on_project_start:
- emacs --daemon=gst --title=GST
- export EDITOR="emacsclient --server-file=gst -c -n"
- export VISUAL=$EDITOR
- $EDITOR
- gst-load -iI shampoo.im Shampoo
- gst-remote -V -I shampoo.im --daemon
- >-
gst-remote -V -e "Shampoo.ShampooServer startOn: 9092 login: 'toni' pass: 'toni'."
on_project_exit:
- tmux -CC attach -t st
windows:
- console-emacs-dev:
- export EDITOR="emacsclient --server-file=gst -c -n"
- export VISUAL=$EDITOR
- echo "A currar"
- exercism:
- export EDITOR="emacsclient --server-file=gst -c -n"
- export VISUAL=$EDITOR