前提・実現したいこと
今現在、Virtual Box、Vagrantをインストールし、Mac上にVagrantでUbuntuゲストOSを作成し、その中でrubyの環境を構築しようといています。
Vagrant boxを作成しvagrantfileを編集しvagrant upすると下記のエラーが出てしまうことを解決したいです。
※途中エラーが出なかった箇所があったので、エラー文が出た箇所だけ分けて下記に記述させていただきました。
発生している問題・エラーメッセージ
default: dpkg-preconfigure: unable to re-open stdin: No such file or directory
default: fatal: could not create work tree dir '/home/ubuntu/.rbenv': Permission denied default: Cloning into '/home/vagrant/.rbenv/plugins/ruby-build'... default: /tmp/vagrant-shell: line 20: rbenv: command not found default: /tmp/vagrant-shell: line 21: rbenv: command not found default: /tmp/vagrant-shell: line 22: rbenv: command not found
default: ERROR: While executing gem ... (Gem::FilePermissionError) default: You don't have write permissions for the /var/lib/gems/2.3.0 directory.
Vagrantfile
# -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure("2") do |config| config.vm.box = "ubuntu/xenial64" config.vm.network :"forwarded_port", guest: 3000, host: 3000 config.vm.synced_folder "~/workspace", "/home/ubuntu/workspace", :create => true, mount_options: ['dmode=777','fmode=755'] config.vm.provision "shell", privileged: false, inline: <<-SHELL sudo apt-get -y upgrade sudo apt-get -y update # install essentials sudo apt-get install git curl g++ make vim nodejs libreadline-dev libssl-dev zlib1g-dev imagemagick libmagickcore-dev libmagickwand-dev -y sudo apt-get remove ruby -y # get rbenv and set path git clone git://github.com/rbenv/rbenv.git /home/ubuntu/.rbenv echo 'export PATH="/home/ubuntu/.rbenv/bin:$PATH"' >> ~/.profile echo 'eval "$(rbenv init -)"' >> ~/.profile . /home/ubuntu/.profile # install ruby-build mkdir -p ~/.rbenv/plugins git clone git://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build # install ruby rbenv install 2.3.0 rbenv global 2.3.0 rbenv rehash sudo apt-get install ruby-railties -y # install bundle gem install bundler --no-document # install postgresql sudo apt-get install postgresql postgresql-contrib python-psycopg2 libpq-dev -y SHELL end
試したこと
以前同じような質問(今回と同じ条件でpythonの環境構築)を行った時、全体としてログインユーザーを「ubuntu」ではなく、「vagrant」として処理を書く必要があると指摘されたので今回もその点を修正してvagrant upしましたが、上記と同じエラーが出てしまい解決に至らなかったので、質問しました。
修正後のVagrantfile
# -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure("2") do |config| config.vm.box = "ubuntu/xenial64" config.vm.network :"forwarded_port", guest: 3000, host: 3000 config.vm.synced_folder "~/workspace", "/home/vagrant/workspace", :create => true, mount_options: ['dmode=777','fmode=755'] config.vm.provision "shell", privileged: false, inline: <<-SHELL sudo apt-get -y upgrade sudo apt-get -y update # install essentials sudo apt-get install git curl g++ make vim nodejs libreadline-dev libssl-dev zlib1g-dev imagemagick libmagickcore-dev libmagickwand-dev -y sudo apt-get remove ruby -y # get rbenv and set path git clone git://github.com/rbenv/rbenv.git /home/ubuntu/.rbenv echo 'export PATH="/home/ubuntu/.rbenv/bin:$PATH"' >> ~/.profile echo 'eval "$(rbenv init -)"' >> ~/.profile . /home/vagrant/.profile # install ruby-build mkdir -p ~/.rbenv/plugins git clone git://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build # install ruby rbenv install 2.3.0 rbenv global 2.3.0 rbenv rehash sudo apt-get install ruby-railties -y # install bundle gem install bundler --no-document # install postgresql sudo apt-get install postgresql postgresql-contrib python-psycopg2 libpq-dev -y SHELL end
参考記事
Ruby on Railsで作ったWEBアプリとPythonで作った機械学習モデルを連携するには?
のruby環境構築と同じ条件で行っています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/04 09:43
2019/11/04 10:10
2019/11/04 10:59
2019/11/04 12:09
2019/11/04 15:04