这一集的任务是跑一个 rails 的 hello world 。

共享文件夹和设置 IP

不过需要先来搞清楚一个简单的机制,共享文件夹。把程序代码放到共享文件夹之中,这样,Mac 机器作为写代码的平台,上面配置好的 sublimtText vim 和 git 还有搜狗输入法等等都能直接用。 虚拟机里的 ubuntu 是程序的运行平台,这样的好处是不用担心在 Mac 上安装很多软件,把系统搞坏;同时 Rails 部署到服务器上,一般都是运行在 Linux 系统之上的,本地开发环境和未来的部署环境一样,会省去很多麻烦。

为了方便访问这个虚拟机,给它一个固定的局域网 IP,到 Vigrantfile 中添加

config.vm.network :private_network, ip: "192.168.10.10"

不要忘记执行 vagrant reload 命令。然后

sudo vim /etc/hosts

添加

192.168.10.10  meetup.dev

新建项目

ssh 登录 ubuntu ,进入共享文件夹,新建一个项目,使用 mysql 作为数据库

cd /vagrant
rails new meetup -d mysql

meetup 就是项目的名称。

最后的 bundle 这条命令是要等一会儿的。它的作用就是安装 Gemfile 之中的这些 gem 包。

现在试图启动这个项目:

cd meetup
rails s

报错,Could not find a JavaScript runtime. 解决方法

sudo apt-get install -y nodejs

安装成功之后,再次 rails s 到浏览器中访问 meetup.dev:3000 又报错,”找不到数据库“。执行

rake db:create db:migrate

问题就解决了。浏览器中刷新,就能看到 rails 程序的默认首页了。

摸一下老虎屁股

用 sublime 打开 meetup 这个项目。可以看到生成了很多文件,不过这次只关注 public/ 。到 public/ 目录中看一下,已经自动有了几个静态页面。一个 html 放到 public 下是可以直接访问的。例如浏览器中访问 meetup.dev:3000/404.html 就可以打开这里的 404.html 这个页面了。

动手新建一个页面 index.html,就可以直接在 meetup.dev:3000/ 看到我自己的痕迹了,yeahh。