这篇文章是转载的,作者讲的很详细,按教程来是没有问题的。我在里面增加了一些自己的想法,改动不是很大。主要是第六项不小心退出终端之后如何解决。
原文链接: juejin.cn/post/684490…
为什么要自己搭建Easy-Mock?
自己最近一直在分享前端甜小白系列的教程,已经分享到第八篇,至此我们要进入下一个阶段项目和案例分享,要涉及到和后台进行数据交互,那么问题来了,作为前端开发攻城狮不会写后台数据,只会本地造假数据,与实际的企业开发差距较大,为了模拟企业级真实开发,为了帮助大家能顺利的自己写API数据推荐大家使用Easy-Mock工具来创建API数据接口,但是官方网站 www.easy-mock.com/ 由于是开放的,导致很多人都在用,经常会出现进不去的现象,好在官方开放了源码,我们可以在本地或者在服务器搭建一套自己的Easy-Mock.下面我就来分享下在Mac系统下本地搭建Easy-Mock。
安装Easy-Mock有两种方式:
- 1.通过
Homebrew
- 2.手动配置
homebrew
一直没成功,所以本文分享手动安装。
一、系统环境
- 苹果系统(Mac)
- redis-5.0.2
- mongodb-osx-ssl-x86_64-4.0.4
- easy-mock最新版
- node 8.9.1 (一定要是8.9版本,开始用了高版本装不起来,建议用nvm管理node版本)
二、安装node版本管理nvm(已安装的小伙伴可跳过此步)
- 1.打开终端输入
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
- 2.通过
vi
或vim
命令打开.bash_profile
并添加以下代码,如果没有.bash_profile
文件那么自己创建一个
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
# This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
# This loads nvm bash_completion
复制代码
vi .bash_profile
打开文件然后按i
进入编辑模式,复制以上代码到编辑器里,然后点击Esc
键退出,然后按住shift:
输入wq
回车保存
一般,安装完后我们都会输入 nvm -v 来查看是否真的安装好了。结果。。。很不幸的,它提示到:
command not found: nvm
复制代码
遇到上面的错误不要着急,原因是你刚在.bash_profile
加的东西没生效导致的,此时在终端输入:
source .bash_profile
复制代码
如果还是不行的话,建议以下方法
touch ~/.bash_profile
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
复制代码
安装好之后通过nvm install 8.9.1
安装node 8.9.1版本

三、安装redis
下载 download.redis.io/releases/re… 并解压到桌面 进入桌面cd Desktop/
然后把解压好的文件移动到/usr/local/redis
输入以下命令:
sudo mv redis-5.0.2 /usr/local/redis
cd /usr/local/redis
sudo make test
sudo make install
redis-server
复制代码
出现一个虚线的小长方体就表示成功了。如果不小心退出,请参考最后滑到底部查看解决办法

安装mongodb
下载 fastdl.mongodb.org/osx/mongodb… 并解压到桌面
到桌面目录下执行:
sudo mv mongodb-osx-x86_64-4.0.4 /usr/local/mongodb
复制代码
在.bash_profile
(如果没有则创建)文件中添加环境变量
export PATH=/usr/local/mongodb/bin:${PATH}
复制代码
然后执行:
source ~/.bash_profile
复制代码
创建/mongodb/data/db
文件夹,这个文件夹是用来存放数据的。注意自己的路径问题,想要把数据放到哪里就在哪里新建文件夹
sudo mkdir -p /mongodb/data/db
复制代码
注意:如果sudo mkdir -p /mongodb/data/db
这种方式创建不成功,推荐sudo mkdir
一层一层的创建文件夹
到mongodb安装目录的bin目录/usr/local/mongodb/bin
执行
./mongod --dbpath /Users/frru/mongodb/data/db // 每次我都是运行这一句来实现本地数据库启动,下面那句不太明白是干什么的
./mongo // 如果是再次启动,不需要这句了---这里不是特别理解是什么意思。
复制代码
如果不小心退出,请参考最后滑到底部查看解决办法
四、安装easy-mock
git clone https://github.com/easy-mock/easy-mock.git
cd easy-mock && npm install
复制代码
启动:到easy-mock
项目目录下执行
nvm use 8.9.1
npm run dev
复制代码
五、访问查看效果
这个效果和官网是一样的。可以注册账号登陆。每个账号都有自己的信息,每次新建了接口都会保留在各自的账号里面。

六、下次再使用的时候怎么办,如何启动?
上面安装的redis和mongodb都是安装后运行了的。如果不小心关闭了终端或者停止了运行,再一次运行相同的命令并不会运行成功。原因是之前运行了,并没有正确退出之前的服务,会有端口被占用的情况。我们需要手动杀死该进程。也就是去掉该服务因为没有正常退出占用的端口。
-
sudo lsof -iTCP -sTCP:LISTEN -n -P //这里会有很多后台服务,我们主要看redis和mongodb
-
使用kill -9 杀死进程
-
再一次启动这三个服务,easy-mock的服务最后启动,因为easy-mock依赖于数据前两项服务。

- 按照安装的教程启动相应的服务就可以了
- 自己数据的存放路径,我的路径是
/Users/akangwu/Documents/easy-mock/mongodb/data/db
- 进入到redis安装目录运行
redis-server
- 进入到mongodb的安装目录下的bin目录,注意是bin目录。运行
./mongod /Users/akangwu/Documents/easy-mock/mongodb/data/db
- 进入到 easy-mock的安装路径 运行
npm run dev