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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

Q&A

3回答

566閲覧

rails g controller 〜ができません。

kyotaro

総合スコア7

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

0グッド

3クリップ

投稿2019/08/04 16:16

編集2019/08/05 23:35

前提・実現したいこと

$ rails g controller 〜 のコマンドでコントローラを作成したいです。
(使用しているパソコンはMacで、作業はvagrantです)

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

rails g controller 〜 を実行したところ

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

と出てしまいます。

試したこと

$ ruby -v で確認 Command 'ruby' not found, but can be installed with: snap install ruby # version 2.6.3, or apt install ruby See 'snap info ruby' for additional versions. と出たので次は、、、 $ sudo apt install ruby Reading package lists... Done Building dependency tree Reading state information... Done ruby is already the newest version (2:2.5.0+1bbox1~bionic1). 0 upgraded, 0 newly installed, 0 to remove and 23 not upgraded. となりましたが結果は変わらずでした。

追記①2019/8/6

Vagrantfileの中身

# -*- mode: ruby -*- # vi: set ft=ruby : # All Vagrant configuration is done below. The "2" in Vagrant.configure # configures the configuration version (we support older styles for # backwards compatibility). Please don't change it unless you know what # you're doing. Vagrant.configure(2) do |config| # The most common configuration options are documented and commented below. # For a complete reference, please see the online documentation at # https://docs.vagrantup.com. # Every Vagrant development environment requires a box. You can search for # boxes at https://atlas.hashicorp.com/search. config.vm.box = "ubuntu/bionic64" # Disable automatic box update checking. If you disable this, then # boxes will only be checked for updates when the user runs # `vagrant box outdated`. This is not recommended. # config.vm.box_check_update = false # Create a forwarded port mapping which allows access to a specific port # within the machine from a port on the host machine. In the example below, # accessing "localhost:8080" will access port 80 on the guest machine. config.vm.network "forwarded_port", guest: 3000, host: 3000 # Create a private network, which allows host-only access to the machine # using a specific IP. config.vm.network "private_network", ip: "192.168.33.10" # Create a public network, which generally matched to bridged network. # Bridged networks make the machine appear as another physical device on # your network. # config.vm.network "public_network" # Share an additional folder to the guest VM. The first argument is # the path on the host to the actual folder. The second argument is # the path on the guest to mount the folder. And the optional third # argument is a set of non-required options. # Provider-specific configuration so you can fine-tune various # backing providers for Vagrant. These expose provider-specific options. # Example for VirtualBox: # # config.vm.provider "virtualbox" do |vb| # # Display the VirtualBox GUI when booting the machine # vb.gui = true # # # Customize the amount of memory on the VM: # vb.memory = "1024" # end # # View the documentation for the provider you are using for more # information on available options. # Define a Vagrant Push strategy for pushing to Atlas. Other push strategies # such as FTP and Heroku are also available. See the documentation at # https://docs.vagrantup.com/v2/push/atlas.html for more information. # config.push.define "atlas" do |push| # push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME" # end # Enable provisioning with a shell script. Additional provisioners such as # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the # documentation for more information about their specific syntax and use. config.vm.provision "shell", inline: <<-SHELLSC function install { echo installing $1 shift apt-get -y install "$@" >/dev/null 2>&1 } echo updating package information apt-add-repository -y ppa:brightbox/ruby-ng >/dev/null 2>&1 apt-get -y update >/dev/null 2>&1 install 'development tools' build-essential install Ruby ruby2.5 ruby2.5-dev update-alternatives --set ruby /usr/bin/ruby2.3 >/dev/null 2>&1 update-alternatives --set gem /usr/bin/gem2.3 >/dev/null 2>&1 echo installing Bundler echo "gem: --no-ri --no-rdoc" > ~/.gemrc gem install bundler -N >/dev/null 2>&1 install Git git install SQLite sqlite3 libsqlite3-dev install 'Nokogiri dependencies' libxml2 libxml2-dev libxslt1-dev zlib1g-dev install 'ExecJS runtime' nodejs echo 'Installing rails' gem install rails gem install railties gem install listen gem install puma gem install sass gem install tilt gem install spring gem install byebug gem install chromedriver-helper gem install sqlite3 gem install rest-client update-locale LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8 LC_ALL=en_US.UTF-8 echo 'You are now on Rails!' echo ' o o o o o o o . . . ______________________________ _____=======_||____' echo ' o _____ | | | |' echo ' .][__n_n_|DD[ ====_____ | | | |' echo ' >(________|__|_[_________]_|____________________________|_|_________________|' echo ' _/oo OOOOO oo` ooo ooo `o!o!o o!o!o` `o!o o!o` ' echo ' -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-' SHELLSC end

追記②2019/8/6

$ echo $PATHの結果

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

初歩的なことになってしまいますが
何か解決方法がわかる方がいらっしゃったら
ご教授いただけると幸いでございます。
よろしくお願い致します。

また何か足りない情報などがございましたら
おっしゃっていただけると助かります。

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

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

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

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

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

kazto

2019/08/04 23:29

まず、本当にMacで作業していますでしょうか? 「ruby is already the newest version (2:2.5.0+1bbox1~bionic1).」 に見えるパッケージのバージョンがUbuntuのものです。 VirtualBoxやVagrantのような仮想環境を使っていませんか?
kyotaro

2019/08/05 01:15

コメントありがとうございます。 申し訳ございません。 使用しているパソコンはMacで作業しているところは仮想環境です。 誤解を招く書き方をしまい申し訳ございません。
kazto

2019/08/05 12:27

それでは、Vagrantfileがあると思いますが、その内容を質問に追記していただけますでしょうか。 簡単に推測すると、仮想環境内にRubyがインストールされていないと予測できます。
kazto

2019/08/05 22:56

以下、ご確認ください。 1. `vagrant ssh`でちゃんと仮想環境にログインした状態で`ruby -v`など行っているか 2. `echo $PATH`の結果はどう出力されるか
kyotaro

2019/08/05 23:37

コメントありがとうございます。 Vagrantfileとecho $PATHの追記を行いました。 またruby -vもvagrant sshを行った後にしましたが結果は変わらずでした。
guest

回答3

0

何が問題か最後まで分からなかったため、仮想環境を新しく作り直しました。
ご教授いただいた方本当にありがとうございました。

投稿2019/08/29 02:50

kyotaro

総合スコア7

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

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

0

何が問題か最後まで分からなかったため、仮想環境を新しく作り直しました。
ご教授いただいた方ありがとうございました。

投稿2019/08/29 02:46

kyotaro

総合スコア7

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

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

0

vagrant provisionは実行しましたか?


Vagrantfile

1 config.vm.provision "shell", inline: <<-SHELLSC 2 function install { 3 echo installing $1 4 shift 5 apt-get -y install "$@" >/dev/null 2>&1 6 } 7 8 echo updating package information 9 apt-add-repository -y ppa:brightbox/ruby-ng >/dev/null 2>&1 10 apt-get -y update >/dev/null 2>&1 11 12 install 'development tools' build-essential 13 14 install Ruby ruby2.5 ruby2.5-dev 15 update-alternatives --set ruby /usr/bin/ruby2.3 >/dev/null 2>&1 16 update-alternatives --set gem /usr/bin/gem2.3 >/dev/null 2>&1 17 echo installing Bundler 18 echo "gem: --no-ri --no-rdoc" > ~/.gemrc 19 gem install bundler -N >/dev/null 2>&1 20 install Git git 21 install SQLite sqlite3 libsqlite3-dev 22 install 'Nokogiri dependencies' libxml2 libxml2-dev libxslt1-dev zlib1g-dev 23 install 'ExecJS runtime' nodejs 24 echo 'Installing rails' 25 26♯### ↓ここから 27 gem install rails 28 gem install railties 29 gem install listen 30 gem install puma 31 gem install sass 32 gem install tilt 33 gem install spring 34 gem install byebug 35 gem install chromedriver-helper 36 gem install sqlite3 37 gem install rest-client 38#### ↑ここまでを 39 40 update-locale LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8 LC_ALL=en_US.UTF-8 41 echo 'You are now on Rails!' 42 echo ' o o o o o o o . . . ______________________________ _____=======_||____' 43 echo ' o _____ | | | |' 44 echo ' .][__n_n_|DD[ ====_____ | | | |' 45 echo ' >(________|__|_[_________]_|____________________________|_|_________________|' 46 echo ' _/oo OOOOO oo` ooo ooo `o!o!o o!o!o` `o!o o!o` ' 47 echo ' -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-' 48 SHELLSC 49end

Vagrantfile内の上記の部分を、フルパスで記載するようにしてください。

Vagrantfile

1 /usr/bin/gem install rails 2 /usr/bin/gem install railties 3 /usr/bin/gem install listen 4 /usr/bin/gem install puma 5 /usr/bin/gem install sass 6 /usr/bin/gem install tilt 7 /usr/bin/gem install spring 8 /usr/bin/gem install byebug 9 /usr/bin/gem install chromedriver-helper 10 /usr/bin/gem install sqlite3 11 /usr/bin/gem install rest-client

Vagrantfile内、下記の場所を書き換えて実行してみて下さい。

config.vm.provision "shell", inline: <<-SHELLSC function install { echo installing $1 shift apt-get -y install "$@" >/dev/null 2>&1 } ここの、 apt-get -y install "$@" >/dev/null 2>&1 を、 apt-get -y install "$@" に変更

この変更で、大量にログが出るようになります。
それを全て貼り付けて下さい。

投稿2019/08/06 12:00

編集2019/08/15 23:15
kazto

総合スコア7196

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

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

kyotaro

2019/08/07 12:56

やってみましたが Command 'vagrant' not found, but can be installed with: apt install vagrant Please ask your administrator.Command 'vagrant' not found, but can be installed with: apt install vagrant Please ask your administrator. その後 suso apt install vagrant をやったのですが、どのディレクトリでやればよかったのでしょうか。
kazto

2019/08/07 13:15

vagrantコマンドは仮想環境の外でやらないと意味がありません。仮想環境からログアウトして実施してください。
kyotaro

2019/08/10 15:27

いただいていたのにも関わらず コメント遅くなってしまい大変申し訳ございません。 仮想環境外でやってみました。 結果は ==> default: Running provisioner: shell... default: Running: inline script default: updating package information default: installing development tools default: installing Ruby default: installing Bundler default: installing Git default: installing SQLite default: installing Nokogiri dependencies default: installing ExecJS runtime default: Installing rails default: /tmp/vagrant-shell: line 24: gem: command not found default: /tmp/vagrant-shell: line 25: gem: command not found default: /tmp/vagrant-shell: line 26: gem: command not found default: /tmp/vagrant-shell: line 27: gem: command not found default: /tmp/vagrant-shell: line 28: gem: command not found default: /tmp/vagrant-shell: line 29: gem: command not found default: /tmp/vagrant-shell: line 30: gem: command not found default: /tmp/vagrant-shell: line 31: gem: command not found default: /tmp/vagrant-shell: line 32: gem: command not found default: /tmp/vagrant-shell: line 33: gem: command not found default: /tmp/vagrant-shell: line 34: gem: command not found default: You are now on Rails! default: o o o o o o o . . . ______________________________ _____=======_||____ default: o _____ | | | | default: .][__n_n_|DD[ ====_____ | | | | default: >(________|__|_[_________]_|____________________________|_|_________________| default: _/oo OOOOO oo` ooo ooo `o!o!o o!o!o` `o!o o!o` default: -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- となりました。
kazto

2019/08/11 07:35

gemコマンドが見つからないと言って失敗していますね。 これはおそらくgemコマンドがインストールされていないということでは「なく」、 Vagrantのprovisionスクリプト内でパスが通っていないだけと思われます。
kyotaro

2019/08/13 13:38

教えていただきありがとうございます。 Vagrantのprovisionスクリプト内とはどこの事でしょうか? 初歩的な質問になってしまいなかなか進まず大変申し訳ございません。
kazto

2019/08/14 01:30

すみません、あいまいな書き方をしてしまいました。 Vagrantfileの、 config.vm.provision ブロックの中の部分です。
kazto

2019/08/14 01:36

回答の内容を修正しました。
kyotaro

2019/08/15 14:08

とんでもございません。 初心者で理解もままならないですが、丁寧に説明してくださっているので とても助かっています。 ありがとうございます。 また、おっしゃていただいたvagrantfikeを書き換えてvagrant provisionをしたのですが 書き換えた部分が default: /tmp/vagrant-shell: line 24: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 25: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 26: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 27: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 28: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 29: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 30: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 31: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 32: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 33: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 34: /usr/bin/gem: No such file or directory と出てしまいました。
kazto

2019/08/15 23:08

なるほど。私の読みが外れていたようです。失礼しました。gemのインストールがうまく行ってない可能性がでてきました。
kyotaro

2019/08/16 11:42

いつもご丁寧にありがとうございます。 申し訳ございません。 大量のログとはどの事でしょうか。
kazto

2019/08/16 12:45

vagrant provisionを実行した際に出るログです。
kyotaro

2019/08/19 13:05

ご教授いただきありがとうございます。 下記のようになりました。 ==> default: Running provisioner: shell... default: Running: inline script default: updating package information default: Reading package lists... default: Building dependency tree... default: Reading state information... default: 0 upgraded, 0 newly installed, 0 to remove and 35 not upgraded. default: installing development tools default: installing Ruby default: installing Bundler default: installing Git default: installing SQLite default: installing Nokogiri dependencies default: installing ExecJS runtime default: Installing rails default: /tmp/vagrant-shell: line 24: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 25: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 26: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 27: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 28: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 29: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 30: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 31: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 32: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 33: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 34: /usr/bin/gem: No such file or directory default: You are now on Rails! default: o o o o o o o . . . ______________________________ _____=======_||____ default: o _____ | | | | default: .][__n_n_|DD[ ====_____ | | | | default: >(________|__|_[_________]_|____________________________|_|_________________| default: _/oo OOOOO oo` ooo ooo `o!o!o o!o!o` `o!o o!o` default: -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
kazto

2019/08/20 03:28

`>/dev/null 2>&1` を削除する対応が入っていないようですが、ご確認いただけますか?
kyotaro

2019/08/20 13:59 編集

大変失礼致しました。 以前ご教授頂いた内容で変更いたしました。 その後 vagrant provisionをした結果を下記に記載いたします。
kyotaro

2019/08/20 14:01

==> default: Running provisioner: shell... default: Running: inline script default: updating package information default: installing development tools default: Reading package lists... default: Building dependency tree... default: default: Reading state information... default: build-essential is already the newest version (12.4ubuntu1). default: 0 upgraded, 0 newly installed, 0 to remove and 37 not upgraded. default: installing Ruby default: Reading package lists... default: Building dependency tree... default: default: Reading state information... default: ruby2.5 is already the newest version (2.5.5-1bbox1~bionic1). default: ruby2.5-dev is already the newest version (2.5.5-1bbox1~bionic1). default: 0 upgraded, 0 newly installed, 0 to remove and 37 not upgraded. default: installing Bundler default: installing Git default: Reading package lists... default: Building dependency tree... default: Reading state information... default: git is already the newest version (1:2.17.1-1ubuntu0.4). default: 0 upgraded, 0 newly installed, 0 to remove and 37 not upgraded. default: installing SQLite default: Reading package lists... default: Building dependency tree... default: default: Reading state information... default: libsqlite3-dev is already the newest version (3.22.0-1ubuntu0.1). default: sqlite3 is already the newest version (3.22.0-1ubuntu0.1). default: 0 upgraded, 0 newly installed, 0 to remove and 37 not upgraded. default: installing Nokogiri dependencies default: Reading package lists... default: Building dependency tree... default: default: Reading state information... default: zlib1g-dev is already the newest version (1:1.2.11.dfsg-0ubuntu2). default: libxml2 is already the newest version (2.9.4+dfsg1-6.1ubuntu1.2). default: libxml2-dev is already the newest version (2.9.4+dfsg1-6.1ubuntu1.2). default: libxslt1-dev is already the newest version (1.1.29-5ubuntu0.1). default: 0 upgraded, 0 newly installed, 0 to remove and 37 not upgraded. default: installing ExecJS runtime default: Reading package lists... default: Building dependency tree... default: Reading state information... default: nodejs is already the newest version (8.10.0~dfsg-2ubuntu0.4). default: 0 upgraded, 0 newly installed, 0 to remove and 37 not upgraded. default: Installing rails default: /tmp/vagrant-shell: line 24: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 25: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 26: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 27: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 28: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 29: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 30: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 31: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 32: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 33: /usr/bin/gem: No such file or directory default: /tmp/vagrant-shell: line 34: /usr/bin/gem: No such file or directory default: You are now on Rails! default: o o o o o o o . . . ______________________________ _____=======_||____ default: o _____ | | | | default: .][__n_n_|DD[ ====_____ | | | | default: >(________|__|_[_________]_|____________________________|_|_________________| default: _/oo OOOOO oo` ooo ooo `o!o!o o!o!o` `o!o o!o` default: -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問