Featured image of post fishでanyenvを設定したらsetenv: Too many argumentsと言われた・・・。

fishでanyenvを設定したらsetenv: Too many argumentsと言われた・・・。

Twitter ツイート Hatena Bookmark ブックマーク

fishでanyenvを設定したらsetenv: Too many argumentsと言われた・・・。

久しぶりにfish環境へ移行している僕です。
anyenvをfishで利用していたら突然setenv: Too many argumentsと言われるようになりました。

原因

anyenvでnenvを設定したらanyenv init -で出力される内容にsetenvが混ざっているのが原因でした。

setenvset -gxにしてあげれば解決できるのですが、しかしanyenv init -で出力されているので、どうすればいいのか悩んでしまいました。

対策

sed使えばいいじゃないかということに気づいたので、anyenv init -しているところでsed使って書き換えることにしました。

1
2
3
4
// .config/fish/conf.d/anyenv.fish

set -x PATH $HOME/.anyenv/bin $PATH
eval (anyenv init - | sed -e "s/setenv/set -gx/g" | source)

これでsetenv: Too many argumentsと言われなくなりました。

参考記事

fish 2.6.0 で setenv: Too many arguments エラーが出たとき

comments powered by Disqus
Built with Hugo
テーマ StackJimmy によって設計されています。