質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
WSL(Windows Subsystem for Linux)

WSL (Windows Subsystem for Linux) は、Windows10のOS上でLinux向けのバイナリプログラムを実行可能にする機能です。また、WindowsOSのAPIを用いた仕組みを提供しており、Linux側からWindowsOSへのファイルアクセスもできます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

3回答

3639閲覧

突然rails newが出来なくなった

namishi

総合スコア14

WSL(Windows Subsystem for Linux)

WSL (Windows Subsystem for Linux) は、Windows10のOS上でLinux向けのバイナリプログラムを実行可能にする機能です。また、WindowsOSのAPIを用いた仕組みを提供しており、Linux側からWindowsOSへのファイルアクセスもできます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

1クリップ

投稿2019/04/26 08:20

前提・実現したいこと

練習でアプリを何個か作っています。

一つ目のアプリは問題なくrails newでアプリを作成できたのですが
二つ目のアプリを作る時に以下のエラーメッセージが発生し、作成できませんでした。

発生している問題・エラーメッセージ

-bash: /mnt/c/Ruby24-x64/bin/rails: ruby: bad interpreter: No such file or directory

該当のソースコード

rails new taskleaf -d postgresql

試したこと

railsでbad interpreter: No such file or directoryエラー

上記を試すと、which railsでは/mnt/c/Ruby24-x64/bin/railsと表示され、
which rubyでは何も表示されませんでした。

一応、以下のようにコマンドに打ってみたのですが
sudo ln -s /usr/bin/ruby /mnt/c/Ruby24-x64/bin/ruby

ln: failed to create symbolic link '/mnt/c/Ruby24-x64/bin/ruby': File exists
と表示されて、上手くいきませんでした。。

補足情報(FW/ツールのバージョンなど)

ruby 2.4.5p335 (2018-10-18 revision 65137) [x64-mingw32]
Rails 5.2.3
psql (PostgreSQL) 10.7 (Ubuntu 10.7-0ubuntu0.18.04.1)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

WSL環境でやるのならばRubyInstaller2のrubyを用いるよりも
Ubuntuでのrbenvインストール方法を参考に
rbenvからrubyをインストールしgem install railsしなおした方がよいです。

投稿2019/05/08 11:48

asm

総合スコア15147

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

namishi

2019/05/08 15:10

ご回答ありがとうございます。インストールの仕方一つで、後にこんなに大きな影響が出るのですね。勉強になりました。自分でも本日も調べておりましたが、rbenvでインストールしないとディレクトリの権限関係で苦労する…との情報を見つけました。諦めて再インストールすることにいたします。asm様、皆様、大変ありがとうございました。
odyu

2019/05/08 16:03

先に進めて良かったです。頑張ってください
guest

0

Rubyのインストールはどうやって行いましたか?
WSL使ったことなので、正確なことは言えませんが、Ruby周りを再インストールするほうが早いと思いおます。
WSL使っているってことは開発環境だと思うので、anyenvやrbenvなどを使ってインストールすれば、バージョン管理も楽になりますし。

投稿2019/05/08 02:55

odyu

総合スコア548

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

namishi

2019/05/08 11:25

ご回答ありがとうございます。RubyやRailsは以前からインストールしてあったためWSLでインストールしたわけではないのですが、一度この環境でもrails newができたことから、再インストールすることを躊躇しています。最悪、再インストールしてみますが、最初にRuby入れるときも5回くらい再インストールしてなんとか環境を整えたので、もう少し粘ってみます…。
guest

0

/usr/bin/ruby を /mnt/c/Ruby24-x64/bin/ruby へのシンボリックリンクにしたいのであれば「sudo ln -s /mnt/c/Ruby24-x64/bin/ruby /usr/bin/ruby」とするのが正しいと思います。

投稿2019/04/30 05:22

iwamot

総合スコア1154

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

namishi

2019/05/03 04:40

GW中にも関わらず、回答ありがとうございます! 逆だったのですね…。 お陰様で、シンボリックリンクが作成できました。 しかし、依然としてrails newできない状態です。。 ``` $ ls -l /mnt/c/Ruby24-x64/bin/ruby lrwxrwxrwx 1 namishi namishi 13 Apr 26 12:23 /mnt/c/Ruby24-x64/bin/ruby -> /usr/bin/ruby $ rails new taskleaf -d postgresql -bash: /mnt/c/Ruby24-x64/bin/rails: ruby: bad interpreter: No such file or directory ``` なぜシンボリックリンクを作ったのに、railsのファイルやディレクトリが無いと言われてしまうのでしょうか…。色々と調べてみても、自力で解決できずにいます。 重ね重ね申し訳ありませんが、お時間があれば教えていただけますと幸いです。
iwamot

2019/05/03 09:13

`which ruby` の結果は変わりましたか?
namishi

2019/05/03 22:58

いえ、変わりませんでした。
iwamot

2019/05/04 02:52

`echo $PATH` の結果はどうなるでしょうか。
namishi

2019/05/07 12:18

コメント遅くなり、申し訳ありません。 以下のような結果になりました。 /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/Program Files/Common Files/Intel/WirelessCommon:/mnt/c/Windows/System32/OpenSSH:/mnt/c/Program Files/Intel/WiFi/bin:/mnt/c/Program Files/Common Files/Intel/WirelessCommon:/mnt/c/Ruby24-x64/bin:/mnt/c/Program Files/Git/cmd:/mnt/c/Ruby24-x64/bin:/mnt/c/Users/so-na/AppData/Local/Microsoft/WindowsApps:/snap/bin
iwamot

2019/05/07 12:30

/usr/bin/ruby が存在していて、PATH に /usr/bin が含まれているのなら、`which ruby` で「/usr/bin/ruby」が表示されてもよさそうですけどね。WSL環境特有の何かがあるのかもしれません。お力になれずすみません。
namishi

2019/05/08 11:28

いえいえ。何度もコメントいただき、本当にありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問