🏠ブログ一覧

pyenv updateしたら/usr/bin/env: ‘bash\r’: No such file or directoryになる

環境情報

WSL2 Ubuntu 20.04

何が起こった?

pyenvのアップデートをしたくなった。コマンド一発でアップデートが出来るというpyenv-updateは導入していたので

1pyenv update

を実行したところ、/usr/bin/env: ‘bash\r’: No such file or directoryというエラーが出てしまった。

pyenvを実行したところ同様のエラーが出てしまい、pyenv関連は完全に壊れてしまった。
引っ掛かりポイントとしては/usr/bin/envが表示されるのでこのファイルが壊れてしまったと勘違いしやすいが、壊れたファイルはpyenvのフォルダだった。

解決方法

まずpyenvが壊れてしまった原因だが、どうやらpyenv-updateでgit cloneした際にエラー表示に出ているように改行コードがCRLFになってしまったみたい。
これはgitの設定で改行コードが自動的に変換される設定が悪さをしていたみたいだったので、以下のコマンドでその設定をoffにする。

1git config --global core.autocrlf false

次にpyenvをクリーンインストールする。pyenvフォルダを削除した後、git cloneする

1rm -rf ~/.pyenv 2git clone https://github.com/pyenv/pyenv.git ~/.pyenv

これでクリーンインストール完了。pyenvコマンドも通常通り動作した。

Copyright © 2023, Haruya Umemoto