Node版本的升级和降级
在开发的工程中,我们可能需要经常切换node版本来应对不同的开发环境,所以需要经常使用不同版本的node
一、安装npm插件n ,通过n模块来管理node版本
1、全局安装n模块
npm instlal -g n
2、安装当前稳定版本
n stable或者sudo n stable
3、安装最新版本的
n latest或者sudo n latest
4、安装指定版本的node
n v8.16.0
5、卸载指定的node版本
n rm v8.16.0
二、使用nvm管理node版本
1、安装nvm
brew install nvm
2、使用nvm安装node版本
安装最新版本
nvm isntall node
安装指定版本
nvm install 8.16.0
3、查看所有版本
nvm ls
4、切换node版本
使用最新版本
nvm use node
使用指定版本
nvm use 10.16.2
通常我会使用第二种方式
例如:我在一个项目中使用的是node@6.13.2,新项目使用的是node@8.16.0,
先要安装node@8.16.0,nvm install 8.16.0,
然后,nvm use 8.16.0
这是由于国内网络限制导致的解决方法:可以将nvm中node和那npm设置到国内源,
在nvm的安装路径下找到settings.txt(如果没有,可新建一个)打开:添加一下代码
node_mirror:npm.taobao.org/mirrors/node/
npm_mirror:npm.taobao.org/mirrors/npm/
在前后端分离的开发方式下,后端如果暂时没数据,前端为了开发方便可以使用模拟数据来对付一下,目前提供模拟数据的平台已经有不少,大多数都是自带Api管理的,比如Yapi、sosoApi、epLinker、Easy-Mock甚至我们可以本地用Mock.js自己写...
其中Easy-Mock比较小清新,使用起来也方便点,缺点就是没有Api的分组功能,但平时应付应付不太大的应用、个人应用等场景足够了;如果要进行分组权限管理之类的复杂功能,则推介使用目前正在快速更新的Yapi~ 当我们快乐的在官网使用Easy-Mock的时候,天有不测之风云:
- 官网的被不少人直接拿到开发环境用,因此经常被挤爆;
- 有些公司/研究所限制外网;
为什么网上已经有好多介绍部署Easy-Mock的文章还要发个呢,因为我用他们的文章部署的时候趟了好多坑...所以记一下方便以后自己翻阅
因此这里介绍一下如何本地去部署Easy-Mock
注意: easy-mock 本地部署不支持 node10及以上版本 https://github.com/easy-mock/...
由于这个原因,在下现在已经改用 Yapi 了
Yapi window
Node别使用最新的14版本会报错 --本人采用的多版本切换的 node 10.16.2
mongoDB和redis直接安装即可
1、安装node -采用上面的多版本控制
https://www.runoob.com/nodejs/nodejs-tutorial.html
2、安装mongodb
https://www.runoob.com/mongodb/mongodb-tutorial.html
3、下载Yapi
https://gitee.com/mirrors/YApi
4、到yapi的解压目录下执行
npm install -g yapi-cli --registry https://registry.npm.taobao.org
yapi server
5、访问http://localhost:9090进行个人设置
6、切换到部署目录,输入node yapi-master/my-yapi/vendors/server/app.js 一定要注意路径
7、访问http://localhost:3000使用,账号名:”admin@admin.com”,密码:”ymfe.org”
如果有自己的ip直接把localhost 换上对应的ip就可以外网访问了
也就是 D:\YApi\my-yapi
成功部署Yapi后,在没有守护进程之前存在一些问题:
- 应用程序运行在当前终端发起的子shell中,hangup信号中断后会导致应用退出,我们不可能在长期使用的环境中用一个终端去做长连接。
- 当服务器重启后,还是需要人工连上服务器启动服务。
- 进程出现意外终止,等人为发现再连上去开启,这样的反应显然已经慢了。
我们这里使用pm2,方法很简单:
安装pm2
npm i pm2 -g
切换到yapi的vendors目录 执行pm2 start
pm2 start server/app.js --watch
Yapi安装错误
出现count模块未安装
请降低node版本
如果出现以下错误,请安装如下模块文件并刷新页面重新部署
Error: Cannot find module ‘fs-extra’
npm install --save fs-extra
如果出现如下错误,请安装如下模块文件并刷新页面重新部署
Error: Cannot find module ‘nodemailer’
npm install nodemailer --save
如果出现如下错误,请修改添加以下路径下的db.js文件内容并刷新页面重新部署
Error: (node:687) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor
cd /etc/my-yapi/vendors/server/utils
在db.js文件的第19行处下面添加如下内容
mongoose.set(‘useUnifiedTopology’, true);
如果出现如下错误,请根据提示删除init.py文件
node server/install.js
Error: init.lock文件已存在,请确认您是否已安装。如果需要重新安装,请删掉init.lock文件
进入/etc/my-yapi/目录
rm init.lock -y
如果重新安装,出现如下错误,请删除管理员账号信息
cd /etc/my-yapi/vendors
node server/install.js
(node:20024) UnhandledPromiseRejectionWarning: Error: 初始化管理员账号 ‘admin@admin.com’ 失败, E11000 duplicate key error collection: yapi.user index: email_1 dup key: { : ‘admin@admin.com’ }
进入数据库删除管理员账户信息
mongo
>use yapi;
>db.user.remove({‘username’:‘admin’});
node server/install.js
安装cross-request插件即可使用类似与postman的界面数据
https://yapi.baidu.com/doc/documents/index.html
Yapi的使用文档地址