アイデアは、ハードコードされたパスの代わりにノードを指す変数を使用することです、私の解決策はこれでしたExecStart="$(which node)" /home/jonma/Development/chewy
しかし、サービスを実行すると、次のエラーが発生します。
feb 08 11:12:51 jonma-VirtualBox systemd[1]: [/lib/systemd/system/chewy.service:2] Executable path is not absolute, ignoring: $(which node) /home/jon
feb 08 11:12:51 jonma-VirtualBox systemd[1]: chewy.service: Service lacks both ExecStart= and ExecStop= setting. Refusing.
パスをハードコーディングせずにこれを実現するにはどうすればよいですか?
systemd
は、絶対パスが指定されていないコマンドを受け入れないため、必要な操作を実行するには、bash-ismに依存して、次のいずれかを実行します。
ExecStart=/bin/bash -c '$$(which node) /home/jonma/Development/chewy'
または
ExecStart=/bin/bash -c '`which node` /home/jonma/Development/chewy'
(私は最初の方が好きですが、あなたは何でもできます)