YApi旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API。是一款优秀的接口管理工具。
更多细节可以去github搜索。或者参照官方文档
问题
如果你是国内服务器的话,按照他的可视化部署的话,安装基本上都没有啥问题。
但是,如果你是境外的服务器,安装的时候,就会出现一系列尴尬的问题。因为它默认的包的路径都是国内的淘宝镜像。下面以我的经历为例,为大家解析下,官方给出的两种方式中,在境外服务器中如何安装。我的服务器是香港服务器。
方式一. 可视化部署[推荐]
这是官方给出的安装方式:
1.下载安装向导
npm install -g yapi-cli --registry https://registry.npm.taobao.org
yapi server
此时,建议你不要直接使用这样的安装代码。因为境外使用taobao
镜像很慢,如果某些安装包没有安装成功,会影响后续安装,在境外使用使用npm
就行了。
你可以是直接使用像下面的安装代码。
npm install -g yapi-cli
安装成功后会显示如下:
/usr/local/src/nodejs/bin/yapi -> /usr/local/src/nodejs/lib/node_modules/yapi-cli/bin/yapi-cli
/usr/local/src/nodejs/bin/yapi-cli -> /usr/local/src/nodejs/lib/node_modules/yapi-cli/bin/yapi-cli
+ yapi-cli@1.5.0
updated 121 packages in 11.981s
2.启动安装向导
yapi server
访问ip:9090
网站填写安装信息。之后,就是安装方式了。
3.执行安装
此时下载安装包的时候,也是使用taobao
的镜像,像下面一样,下载很缓慢,感觉像是卡在这里一样。
连接数据库成功!
开始下载平台文件压缩包...
http://registry.npm.taobao.org/yapi-vendor/download/yapi-vendor-1.9.2.tgz
问题还是那个问题,境外请求国内服务器的资源的问题,而且本身这个压缩包也不小,所以更慢。我们可以按照如下方式解决。
4.解决安装缓慢
首先明确下,这个安装向导和网站框架都是使用nodejs
写的。如果你对nodejs很熟悉的话,就很好办。不熟悉也没有关系,跟着做就行了。
- 前面,我们看到
yapi-cli
的目录是/usr/local/src/nodejs/lib/node_modules/yapi-cli/bin/yapi-cli
,那么我们需要进入到这个安装的根目录,也就是/usr/local/src/nodejs/lib/node_modules/yapi-cli
。j - 进入到
src
目录。
找到utils.js
文件打开,找到function github()
函数。在内部,手动指定type='github'
,例如:
这样在后续判断的时候,就会使用github地址安装了。安装很快。基本上,一步就能安装成功了。function github(version, type = 'npm') { type = 'github' let url; if(version[0] === 'v' || version[0] === 'V'){ version = version.substr(1) } if(oldVersion().indexOf(version) !== -1){ type = 'qunar' } if(type === 'github'){ version = 'v' + version; url = 'https://github.com/YMFE/yapi/archive/' + version + '.zip' }else if(type === 'npm'){ url = `http://registry.npm.taobao.org/yapi-vendor/download/yapi-vendor-${version}.tgz` }else { version = 'v' + version; url = 'http://yapi.demo.qunar.com/publicapi/archive/' + version; } return url }
- 安装完成后,最好把修改的部分再改回来。
方式二. 命令行部署
如果,你选择手动的命令行方式部署的话,官方是这样给出的方法:
mkdir yapi
cd yapi
git clone https://github.com/YMFE/yapi.git vendors //或者下载 zip 包解压到 vendors 目录(clone 整个仓库大概 140+ M,可以通过 `git clone --depth=1 https://github.com/YMFE/yapi.git vendors` 命令减少,大概 10+ M)
cp vendors/config_example.json ./config.json //复制完成后请修改相关配置
cd vendors
npm install --production --registry https://registry.npm.taobao.org
npm run install-server //安装程序会初始化数据库索引和管理员账号,管理员账号名可在 config.json 配置
node server/app.js //启动服务器后,请访问 127.0.0.1:{config.json配置的端口},初次运行会有个编译的过程,请耐心等候
这里有两个地方需要注意
- 不要使用淘宝镜像
安装的时候,直接使用npm install --production
就可以安装了。不要带后面的--registry https://registry.npm.taobao.org
- 配置文件修改
config.json配置中,官方默认给你数据连接配置了用户名和密码都是test1
,记得值置空。因为默认的mongodb
连接是不需要用户名和密码的。否则,你安装的时候,就会一直报数据连接失败 。参考下面配置{ "db": { "servername": "127.0.0.1", "DATABASE": "yapi", "port": 27017, "user": "", "pass": "", "authSource": "" },