如何安装使用前后端分离的项目(安装 node.js 和 golang)
文章目录
一、安装配置前端
1. node.js
① Windows 环境
可以选择 .msi 安装包或者 .exe 二进制文件安装
1).msi
- 双击下载后的安装包,如下所示
- 勾选接受协议选项,点击 next(下一步) 按钮
- 检查 Node.js 版本
2).exe
- 点击 Run(运行)按钮将出现命令行窗口
② Linux 环境
1) 编译源码安装
- 即官网安装中的 Source Code 部分文件
- 需要先安装编译环境。比如 node 编译依赖于gcc make gcc-c++ openssl-devel 等三方模块,需要自己提前安装依赖
yum -y install gcc make gcc-c++ openssl-devel
- 进入源码路径,执行里面的 configure文件./configure --prefix=生成的二进制文件路径
- 运行 make 命令,这个是编译过程,运行的时间可能稍长一些
- 执行 install 命令。如果在第第一步骤中配置的程序安装路径不在系统的环境量 PATH 中,需要自己添加
2)二进制文件的部署安装
- 下载二进制包(确保已通过 yum install 安装了 wget)
wget https://nodejs.org/dist/v12.18.3/node-v12.18.3-linux-x64.tar.xz
- 如果以上安装速度过慢,推荐使用国内镜像
wget https://npm.taobao.org/mirrors/node/v10.14.1/node-v10.14.1-linux-x64.tar.gz
- 解压到当前文件夹下运行
tar -xvf node-v12.18.3-linux-x64.tar.xz -C
- 将 node 包放置在 /usr/local/node 下
mv node-v12.18.3-linux-x64 /usr/local/node
- 设置环境变量
# 保存退出(:wq)执行命令是更改生效
vim /etc/profile
Add:
#set for nodejs
export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH
# 保存环境变量
source /etc/profile
- 测试是否安装成功,检查安装版本
node -v
npm -v
- 设置镜像
npm config set registry https://registry.npm.taobao.org
3)关于 npm -v 提示命令不存在
- 在安装 node 的过程中可能由于网络原因会缺失一些文件,出现以上情况建议卸载后重新安装
- 卸载
yum remove nodejs npm -y
- 删除相关文件
# /usr/local/lib 下的node和node_modules文件夹
rm -rf /usr/local/lib/node*
# /usr/local/include下的node和node_modules文件夹
rm -rf /usr/local/include/node*
# /usr/local/bin下的node和npm
rm -rf /usr/local/bin/node*
- 按照以上步骤重新安装
2. 安装部署前端
如果读者已经安装 node,那么一般是会自带 npm 的
① 使用 npm 安装前端
npm install
npm run dev
- 其中 npm 不加 -g 是使用本地安装,npm 会在执行命令的当前路径下下载安装模块组件。
- 加上 -g 则使用全局安装,npm 会在设置的全局路径下安装。方便统一管理
npm install # 本地安装
npm install -g # 全局安装
- 结果如下图
② 安装过程中可能的出错
1)出错
- 在开发项目安装依赖时(npm install) 可能会报 npm ERR! cb()never called! 的错误
- 解决方法:
- 首先要以 root 模式打开终端清除 npm 缓存 : npm cache clean -f
- 清除完缓存后,安装最新版本的 Node helper: npm install -g n
- 再次运行安装: npm install
2)出错原因
为什么会出现 npm install 不成功的问题呢?我们可以先看下npm install的执行过程:
- 发出 npm install 命令
- npm 向 registry 查询模块压缩包的网址
- 下载压缩包,存放在 ~/.npm 目录
- 解压压缩包到当前项目的 node_modules 目录
- 一个模块安装以后,本地其实保存了两份。一份是 ~/.npm 目录下的压缩包,另一份是 node_modules 目录下解压后的代码。
- 但是运行 npm install 的时候,只会检查 node_modules 目录,而不会检查 ~/.npm 目录。如果一个模块在 ~./npm 下有压缩包,但是没有安装在 node_modules 目录中,npm 依然会从远程仓库下载一次新的压缩包。
- 缓存将由 npm 来全局维护,离线安装时将不再尝试连接网络,而是降级尝试从缓存中读取,或直接失败。如果你离线,npm将无缝地使用您的缓存。
最后得出结论:
- 缓存腐败了,因此我们需要 npm cache clean --force 命令清除它
二、安装配置后端
- 以下的后端部署需要事先配好 go 环境,具体请看笔者的另一篇博客 安装Go语言开发环境
- 后端的安装就比较简单了
- 先使用以下命令从网上拉取要运行项目的后端代码,然后运行里面的文件,同样以项目 简单 web 开发前后端服务 为例
- 先利用命令将本项目clone到本地的go工作空间中
go get -v github.com/chuhongwei/BlogServer
- 切换到博客源代码存放位置,执行以下命令来调用写博客到数据库的功能,完成数据库的初始化。
go run WriteBlog.go
- 切换到项目的根目录,执行下面命令来运行服务端程序,等待客户端的请求。
go run main.go