Edited at

Error (use-package): exec-path-from-shell :init: Expected printf output from shell, but got: "" に遭遇したら...

More than 1 year has passed since last update.


6/10 追記

6/10現在、 homebrew でインストールされる fish のバージョンが 2.6.0 になったので、この問題は発生しなくなりました。

よかった、よかった :smile:

$ brew info fish

fish: stable 2.6.0 (bottled), HEAD
User-friendly command-line shell for UNIX-like operating systems
https://fishshell.com
/usr/local/Cellar/fish/2.5.0 (864 files, 6.4MB)
Poured from bottle on 2017-05-28 at 00:02:45
/usr/local/Cellar/fish/2.6.0 (886 files, 6.7MB) *
Poured from bottle on 2017-06-06 at 11:57:13
/usr/local/Cellar/fish/HEAD-352cea1 (878 files, 6.9MB)
Built from source on 2017-06-06 at 11:55:48
/usr/local/Cellar/fish/HEAD-9236e27 (878 files, 6.9MB)
Built from source on 2017-05-29 at 11:09:18
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/fish.rb
==> Dependencies
Required: pcre2 ✔
==> Caveats
You will need to add:
/usr/local/bin/fish
to /etc/shells.

Then run:
chsh -s /usr/local/bin/fish
to make fish your default shell.


macOS上の windowed Emacs で exec-path-from-shell を使っていたら表題のエラーに遭遇。

https://github.com/syl20bnr/spacemacs/issues/4755

https://github.com/purcell/exec-path-from-shell/issues/43

を見て、config.fish 上の eval xxxxxxx | source に変更してみたり、 exec-path-from-shell のコードをデバッグしてみたが解決せずに困っていた😰


エラー時の環境

tool
version
備考

emacs-mac
emacs-25.2-z-mac-6.4

$ brew install emacs-mac でインストールしたもの

fish
2.5.0

$ brew install fish でインストールした stable なもの

exec-path-from-shell
1.11
use-package 経由で melpa-stable からインストールしたもの


解決方法

fish の HEAD をインストールするとあっけなく解決...

fish-shell リポジトリ上では解決したみたいだけど release 版には取り込まれてなかったみたい :cry:

$ brew install fish --HEAD


情報参照元


今回の教訓

本家の Issue はちゃんと隅々まで読みませう。