luckylundy
@luckylundy

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

【Windows】VScodeでbin/rails ~コマンドを打ち込むと「/usr/bin/env: ‘ruby’: No such file or directory」というエラーになってしまうエラーを解消したい

解決したいこと

VScodeでbin/rails ~コマンドを打ち込むと「/usr/bin/env: ‘ruby’: No such file or directory」というエラーになってしまいます。
そのため自作アプリの開発ができずにいます。
どなたかお力を貸していただけないでしょうか。

環境

windows10 home
Ubuntu 20.04.1 on WSL2
rails 6.0.3
ruby 2.6.6

発生している問題・エラー

$ bin/rails s
/usr/bin/env: ‘ruby’: No such file or directory

自分で試したこと

今まではこのエラーが出たときVScodeを再起動すれば使えるようになっていました。
今回はVScodeを再起動してもPCを再起動してもエラーが直りません。

以下の記事を読んでパスが通らなくなったのではないかということはわかったのですが、自分と状況が違うのでそこから先どうすればいいかわかりません。

ubuntuでコマンドが使えなくなった[/usr/bin/env: ‘ruby’: No such file or directory]
/usr/bin/env: ruby: そのようなファイルやディレクトリはありません

また、PATHを確認してみましたが複雑でよくわかりませんでした。

$ echo $PATH
/home/XXXXX/.vscode-server/bin/f4af3cbf5a99787542e2a30fe1fd37cd644cc31f/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/Program Files (x86)/Intel/iCLS Client/:/mnt/c/Program Files/Intel/iCLS Client/:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/IPT:/mnt/c/Program Files/Intel/Intel(R) Management Engine Components/IPT:/mnt/c/WINDOWS/System32/OpenSSH/:/mnt/c/Program Files/Intel/WiFi/bin/:/mnt/c/Program Files/Common Files/Intel/WirelessCommon/:/mnt/c/Users/XXXX/AppData/Local/Microsoft/WindowsApps:/mnt/c/Program Files/heroku/bin:/mnt/c/Users/XXXX/AppData/Local/atom/bin:/mnt/c/Users/XXXX/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/XXXX/AppData/Local/Programs/Microsoft VS Code/bin

どうぞよろしくお願いいたします。

0

2Answer

Comments

  1. @luckylundy

    Questioner

    素早いご回答ありがとうございます!
    もしお答えいただけたらで構わないのですが、https://qiita.com/June8715/items/24307ee467baee51387e
    の記事を参考に「find . -type f | xargs file | grep CRLF | awk -F: '{print $1}' | xargs dos2unix」というコマンドでCRLFの含まれているファイルをLFに置換しようとしているのですがうまくいきません。

    xargs: dos2unix: No such file or directoryというエラーが出てしまいます。

    これを受けさらに
    https://qiita.com/xtetsuji/items/566a61173f5060b28200
    の記事を参考に「find . -type f -print0 | xargs -0 file | grep CRLF | awk -F: '{print $1}' | xargs dos2unix」というコマンドも試してみたのですが同じエラーが出てしまいました。

    何かいい解決策はありますでしょうか。
    よろしくお願いいたします。

単純に変えたいなら...

xargs: dos2unix: No such file or directoryというエラーが出てしまいます。

これは読んだままですが、要はそんなコマンドはない。

無いなら入れる。

0Like

Comments

  1. @luckylundy

    Questioner

    返信が遅れてしまいすみません!
    ご回答ありがとうございます!

    あれからnkfのインストールに成功し、アプリ直下のディレクトリでCRLFを含むファイルをLFに修正しました。

    その後CRLFを含むファイルがあるかfind . -type f | xargs file | grep CRLFコマンドで確認しましたが、ヒットしなかったのでLFに置換できたと思います。

    しかしそのあとVScodeを再起動してbin/rails routesコマンドを試しても同じエラーが出てしまいました。

    これはCRLFによるエラーではなく、VScodeへのパスに不具合が起きていると考えたほうがいいでしょうか?

    どうぞよろしくお願いいたします。
  2. 単純に

    which ruby

    と打ってパスが返ってきますか?
  3. @luckylundy

    Questioner

    何度も質問させていただき感謝いたします!
    そしてご回答ありがとうございます!

    いきなりですが、エラーが直ってしまいました。
    考えられるのはwindowsの更新をした翌日にVScode左下の歯車(管理)に「更新」と出ていたので更新したことです。

    もしかするとwindowsの更新前でVScodeにも何らかの不具合が出ていたのかもしれません。

    一応which rubyと打ったところ、/home/XXXXX/.rbenv/shims/rubyと返ってきました。

    結局何が原因でエラーになり、どうして直ったのかはっきりとした理由がわからず非常にもやもやしますが解決しました。

    お騒がせしてすみません。
    また、ご助力いただきありがとうございました!

Your answer might help someone💌