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

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

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

rbenvは、Rubyバージョン管理ツール。プロジェクトごとでRubyバージョンを切り替えることが可能です。RVMよりもシンプルで、少ない機能で動作します。本体にはRubyのビルド機能は備わっておらず、ruby-buildというツールを用いる必要があります。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

解決済

1回答

274閲覧

仮想環境内で実行されたrails導入スクリプトがうまく走らない

退会済みユーザー

退会済みユーザー

総合スコア0

rbenv

rbenvは、Rubyバージョン管理ツール。プロジェクトごとでRubyバージョンを切り替えることが可能です。RVMよりもシンプルで、少ない機能で動作します。本体にはRubyのビルド機能は備わっておらず、ruby-buildというツールを用いる必要があります。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

0グッド

0クリップ

投稿2017/09/22 04:17

編集2017/09/22 04:46

Vagrant と virtualboxを使って
ubuntu16.04 内にrails環境を整え、railsアプリを作成したいと思い、下記のファイルを作成しました。

vagrant up実行後、ターミナルに

==> default: Successfully installed rails-5.1.3 ==> default: 33 gems installed

と表示されたことを確認し、
ユーザ名vagrantでログイン後rails new sampleappを実行すると
-bash: rails: command not found
と返されます。
exec $SHELL
を実行するとrailsコマンドが走るようになりました。

なぜ、provision_user.shexec $SHELLが走らないのか
教えていただけませんでしょうか。

よろしくお願いいたします。

作成したファイル

Vagrantfile

Vagrant.configure("2") do |config| config.vm.box = "bento/ubuntu-16.04" config.vm.box_check_update = false config.vm.network "forwarded_port", guest: 3000, host: 3000 config.vm.network "private_network", ip: "192.168.33.10" config.vm.synced_folder ".", "/home/vagrant" config.vm.provider "virtualbox" do |vb| vb.gui = false vb.memory = "2048" end config.vm.provision "shell", path: "provision_root.sh" config.vm.provision "shell", path: "provision_user.sh", :privileged => false end

provision_root.sh

apt-get update -y apt-get install -y openssh-server systemctl restart ssh DEBIAN_FRONTEND=noninteractive apt-get -y install git curl g++ make zlib1g-dev libssl-dev libreadline-dev libyaml-dev libxml2-dev libxslt-dev sqlite3 libsqlite3-dev nodejs mysql-server mysql-client libmysqlclient-dev libmysqld-dev

provision_user.sh

git clone https://github.com/rbenv/rbenv.git ~/.rbenv git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc echo 'eval "$(rbenv init -)"' >> ~/.bashrc ~/.rbenv/bin/rbenv install 2.4.2 ~/.rbenv/bin/rbenv rehash ~/.rbenv/bin/rbenv global 2.4.2 ~/.rbenv/bin/rbenv exec gem install bundler nokogiri ~/.rbenv/bin/rbenv exec gem install rails -v 5.1.3 --no-ri --no-rdoc exec $SHELL

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

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

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

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

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

guest

回答1

0

ベストアンサー

原因

vagrant のシェルプロビズナーがexecした時点で終了すること

解決策

provision_user.sh

diff

1- exec $SHELL 2+ echo 'source ~/.bashrc' >> ~/.bash_profile

投稿2017/09/22 07:57

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問