1、前言
开源OJ项目信息:
码云:https://gitee.com/himitzh0730/hoj
官网:https://docs.hdoi.cn/
Github: https://github.com/HimitZH/HOJ
要先在本地部署好后台代码,再部署前台。
HOJ的前台代码基于vue的,因此开发vue的环境,要提前配好,比如node.js安装,vscode编辑器安装。
2、部署流程
2.1 下载代码
下载代码,用VSCode打开
然后打开README.md,看项目如何运行
执行npm install
然后执行npm run serve
2.2 npm install的报错解决
所有开源项目在部署的时候根据环境不同,大概率会出现各种报错;一般根据报错提示搜索相应的解决方案即可。
报错1:
解决办法:
npm config set proxy null
npm cache clean --force
npm config set registry https://registry.npmmirror.com
https://registry.npmmirror.com是国内淘宝的镜像
还是报错:
根据提示的意思,主要是registry.nlark.com这个地址找不到。搜索这个地址:
解决方法:
在项目下全局搜索registry.nlark.com,
发现在package-lock.json中有几处是采用的这个地址。
需要把这个地址,改为 registry.npmmirror.com
再执行npm install
成功!
2.3 npm run server的报错解决
问题描述: 前端项目自定义webpack自动构建项目,启动时报错:Error: error:0308010C:digital envelope routines::unsupported
报错原因:
主要是因为 nodeJs V17 版本发布了 OpenSSL3.0 对算法和秘钥大小增加了更为严格的限制,nodeJs v17 之前版本没影响,但 V17 和之后版本会出现这个错误。 我的node版本是v18+。
解决方法:
修改这一行,增加set NODE_OPTIONS=--openssl-legacy-provider
Nodejs运行vue项目时,报错:Error: error:0308010C:digital envelope routines::unsupported - 码哥之旅 - 博客园