主頁 > 知識庫 > win10下使用virtualbox + vagrant配置ruby開發(fā)機環(huán)境

win10下使用virtualbox + vagrant配置ruby開發(fā)機環(huán)境

熱門標簽:邯鄲外呼調研線路 武漢呼叫中心外呼系統(tǒng)線路商 電話機器人電話卡封號怎么辦 開封百應電銷機器人聯(lián)系方式 買了外呼系統(tǒng)不想用了怎么辦 真人語音電銷機器人系統(tǒng) 樂昌電話機器人 浦東上海400開頭的電話申請 北京語音電銷機器人價格

在寫本文前,筆者已經嘗試了多種其他的替代方法,例如wmware虛擬機安裝kylin。然而發(fā)現(xiàn)總是還有各種問題。經大佬指點安裝了virtualbox + vagrant。于是發(fā)現(xiàn)配置起來如此簡單。接下來筆者將詳細闡述。

 (注:筆者自己的服務器上的配置是centos7.2 + ruby2.3.4 + mariadb + redis,自己的筆記本為win10,另外,很多網上的類似文章都寫于很長時間以前,很多內容現(xiàn)在已經不適用,甚至很多關鍵的環(huán)節(jié)還不講清楚,導致筆者配置初期踩了很多的坑。所以寫下此文,總結經驗)

配置流程

1、box鏡像的選擇

本文中,筆者由于網站服務器系統(tǒng)為centos7.2,所以理所應當?shù)倪x擇了centos的鏡像。(鏡像官網,支持搜索配置:https://app.vagrantup.com/boxes/search。 關于vagrant,此文中不再贅述,網上關于vagrant+virtualbox的資料很多,基本配置也非常簡單省事)。

 起初,筆者隨意下載了一個下載量高的centos,結果發(fā)現(xiàn)內部配置有很多的問題,主要問題是很多軟件的版本過于老舊且更新很麻煩,需要手動解決很多的依賴(有的甚至還解決不了,于是果斷棄坑)。后來換了一個官方鏡像,于是有了很大的改觀。(安利一下我用的鏡像:https://app.vagrantup.com/centos/boxes/7)

在選擇鏡像的時候要注意以下幾點:

•如沒有十足的把握,請盡量選擇較新且完整版的鏡像(盡量不要Minimal)
•如果網絡條件允許(例如在中國大陸之外)的話,可以直接按照頁面上的方法配置。如果網絡條件不允許或者速度極慢,可以先按照上面init你的vagrant,然后得到box的下載地址,中斷init。然后用迅雷下載此地址到本地再配置,可以大大節(jié)省時間。

2、安裝git

作為開發(fā)機,git是必不可少的,然而一開始也被git坑了好長時間。
 首先直接命令安裝

yum install git

安裝時務必注意版本,版本最好不要低于1.8(之前另一個系統(tǒng)git1.7,很多網站上的repo無法正常訪問)
 接下來就是配置git的一些全局設置

git config --global user.name "HansBug"
git config --global user.email xxx@xxx.com
git config credential.helper 'cache --timeout=7200'

三條設置依次為用戶名,用戶郵箱和記住密碼(本人較懶,不想配置ssh)有效時間(單位秒,例子中為2小時)

3、安裝rvm

作為rails環(huán)境的搭建,rvm是很重要的一環(huán)。
 首先安裝rvm(如果本機沒有curl或者出現(xiàn)其他依賴問題請先解決)

curl -L get.rvm.io | bash -s stable

安裝完后如果看到如下的提示的話

 * WARNING: You have '~/.profile' file, you might want to load it,
  to do that add the following line to '/home/vagrant/.bash_profile':

   source ~/.profile

則按照他說的做就好了。

安裝完畢后有一個很重要的操作——將原鏡像地址換掉。原鏡像地址由于某些神秘的原因(你懂得),接下來ruby下載速度奇慢,而且還不穩(wěn)定。
 于是果斷執(zhí)行命令

echo "ruby_url=https://cache.ruby-china.org/pub/ruby" > ~/.rvm/user/db

4、安裝ruby

rvm配置完畢之后,下一步就是安裝ruby(我使用的是2.3.4版本)

rvm install 2.3.4

然后安裝完之后設置為默認版本

rvm use 2.3.4 --default

5、修改gem source

一般來說,ruby安裝完之后,gem也就有了。但是因為一些神秘的原因(你懂得),gem原本的source常常下載速度極慢。
 首先看一下現(xiàn)有的gem source

gem source -l

反饋是

*** CURRENT SOURCES ***

https://rubygems.org/

這個是rubygem原有的鏡像,在大陸訪問速度比較慢。我們可以換上ruby-china提供的鏡像。操作如下:

gem source -r https://rubygems.org/
gem source -a https://gems.ruby-china.org/

依次是刪除原有鏡像地址和創(chuàng)建新鏡像地址。到此,gem配置完畢

6、安裝rails和bundler

如果之前都配置妥善了的話,這一步其實很簡單
 首先(中間可能會出現(xiàn)部分依賴性問題,可以通過baidu和google自行解決,一般都能找到相關資料)

gem install rails

確認安裝完畢后,運行

gem install bundler

7、安裝mariadb和redis

其實mariadb在centos上的安裝非常簡單,直接 yum -y install mariadb mariadb-server mysql-devel 即可(最后一個要是不安裝的話,等會bundle install時會出現(xiàn)依賴錯誤)。

 然后就可以 sudo service mariadb start來啟動數(shù)據(jù)庫了,十分方便。(關于數(shù)據(jù)庫的設置密碼等問題,可以自行百度相關資料,此處不再贅述)

redis的話,在確保EPEL安裝了的情況下,也可以直接yum -y install redis,系統(tǒng)服務也配置好了,非常方便。(EPEL的安裝請看文末問題區(qū)2)
注:在正式部署項目之前,請務必按照development的方式將redis和mariadb的相關配置配置好

關于mariadb的基本初始設置,可以參照:https://www.jb51.net/article/108930.htm
關于mariadb的遠程訪問問題,可以參照下面鏈接,寫的很簡潔清晰(不過除了開發(fā)機以外的情況下將遠程權限賦予全部ip是很不安全的):https://www.jb51.net/article/72426.htm

8、部署項目

首先在項目目錄下初始化倉庫并添加遠程倉庫(后面寫上你的git地址)

git init
git remote add origin *****************.git

然后
git pull origin master

將項目安置好,然后接下來就是rails項目的一般性流程了

bundle install
rails db:migrate
rails db:seed

(注:若在bundle install的過程中遇到相關依賴性問題的話,可以首先查看錯誤說明,很多錯誤說明中已經告訴了你如何操作,需要安裝什么包。如果沒能解決的話請百度或google)
 最后一步,

rails server -b 0.0.0.0

啟動rails服務器,然后我們就可以直接通過3000端口訪問本機的網站啦!大功告成

問題區(qū)

1、vagrant無法與主機共享文件夾

我這邊之前出現(xiàn)過一個問題,將配置文件(Vagrantfile)里面的這行注釋去掉

config.vm.synced_folder "data", "/vagrant_data"

啟用文件夾共享時,出現(xiàn)了錯誤

Vagrant was unable to mount VirtualBox shared folders. This is usually
because the filesystem "vboxsf" is not available. This filesystem is
made available via the VirtualBox Guest Additions and kernel module.
Please verify that these guest additions are properly installed in the
guest. This is not a bug in Vagrant and is usually caused by a faulty
Vagrant box. For context, the command attempted was:

mount -t vboxsf -o uid=1000,gid=1000 vagrant_data /vagrant_data

The error output from the command was:

mount: unknown filesystem type 'vboxsf'

這個問題解決方案已經知道。其實很簡單,就是缺一個插件,裝上就ok

vagrant plugin install vagrant-vbguest

然后reload,問題解決。

2、部分軟件包無法找到

這種情況是由于centos7本身帶的軟件包并不多。所以我們需要安裝EPEL(https://www.jb51.net/article/113316.htm)
 操作如下:

yum -y install epel-release
yum repolist

依次是安裝epel和刷新軟件包列表。我們可以看到,軟件包數(shù)量增加了很多。

3、將虛擬機映射至ip

其實這一步也很簡單,將Vagrantfile里面的這一行注釋去掉即可(同時也請保證局域網內ip地址沒有沖突,如有沖突,請更換一個ip。另,若是沖突的話,一般在vagrant up reload的過程中會報錯)
config.vm.network "private_network", ip: "192.168.33.10"

然后網站就可以通過192.168.33.10:3000訪問,數(shù)據(jù)庫可以用192.168.33.10鏈接,甚至也可以用putty通過192.168.33.10的ip地址鏈接,就像連接你的服務器一樣。

您可能感興趣的文章:
  • Ubuntu系統(tǒng)中部署Vagrant和VirtualBox的圖文教程
  • 手把手教你使用 virtualBox 讓虛擬機連接網絡的教程
  • 詳解VirtualBox + CentOS 虛擬機網卡配置
  • VirtualBox虛擬機安裝Ubuntu詳細教程(圖文)
  • vagrant+virtualBox構建虛擬機的方法

標簽:六安 石嘴山 鄂州 河北 自貢 宜春 淄博 松原

巨人網絡通訊聲明:本文標題《win10下使用virtualbox + vagrant配置ruby開發(fā)機環(huán)境》,本文關鍵詞  win10,下,使用,virtualbox,vagrant,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《win10下使用virtualbox + vagrant配置ruby開發(fā)機環(huán)境》相關的同類信息!
  • 本頁收集關于win10下使用virtualbox + vagrant配置ruby開發(fā)機環(huán)境的相關信息資訊供網民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章