项目场景:
本着学习一下ruoyi框架的目的打算搭建起来若依框架的前后端分离版本,没想到,这个过程中遇到了各种拦路虎。这里一并做一下记录,希望对您有所帮助。
问题描述 1.
在搭建前端代码中,首先要用到npm。我不知道使用npm是不是一定要安装node.js。本着简单原则,我在node.js官网下载了对应的mac m1 版本的安装包,安装的时候发现可以选择只安装npm而不安装node.js。
安装好了npm后,顺便升级到了最新版本。安装依赖很顺利,使用npm install即可。
但是当我运行 npm run dev的时候,报了一个这样的错误,意思是“数字包程序不支持”
Error message "error:0308010C:digital envelope routines::unsupported"
原因:
Node.js 17+版本中使用了OpenSSL3.0 ,而OpenSSL3.0对允许算法和密钥大小增加了严格的限制导致了这个问题的出现。
解决:
方法1:降回到 Node.js16去。
方法2:将package.json 中的 scripts部分修改,目的是将OpenSSL降回老策略,如下所示:
"scripts": {
"dev": "vue-cli-service serve",
"build:prod": "vue-cli-service build",
"build:stage": "vue-cli-service build --mode staging",
"preview": "node build/index.js --preview",
"lint": "eslint --ext .js,.vue src"
}
改为
"scripts": {
"dev": "export NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
"build:prod": "export NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
"build:stage": "export NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build --mode staging",
"preview": "node build/index.js --preview",
"lint": "eslint --ext .js,.vue src"
},
问题描述 2.
若依框架中logback.xml文件中默认的日志路径是/home/ruoyi/logs/。而mac系统home目录默认是不允许操作的。所以,我们需要把日志目录更换,mac下替换为/Users/***/ruoyi/logs/即可,星号为你的用户名。windows下可以设置一个绝对路径或者相对路径都可以。home一般是linux系统下使用。
至此,前端顺利的跑起来了。接下来我们把后端也搭建起来。
这个时候,出现了问题 3 .
启动的时候提示:
ruoyi Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: /127.0.0.1:6379
Unable to connect to Redis
就是不能链接redis呗,哎,折腾,redis还没有安装,必须安排起来。不想,安装redis中又遇到了新的问题。
首先,我还没有安装Homebrew,先把这个整起来吧。
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
完了之后呢安装redis。
brew install redis
安装过程中遇到问题 4。
Command failed with exit 128:git
输入brew -v后会提示你执行两个配置命令
git config --global --add safe.directory /opt/homebrew/Library/Taps/homebrew/homebrew-cask
git config --global --add safe.directory /opt/homebrew/Library/Taps/homebrew/homebrew-core
然后就开始漫长的下载redis。我中途换了几个源,发现还是一样的慢,导致不停的因为慢而出错停止下载。于是得想办法加快下载速度啊。这个时候就要使用科学了。
对,就是这样,然后把复制好的东西拷贝到终端去,执行,然后下载。那叫一个快啊!!!10秒后全部搞定。
接着我不得启动redis嘛,启动
问题5出现了……
Error: uninitialized constant Homebrew::Service::System
解决办法:
cd /opt/homebrew/Library/Taps/homebrew
rm -rf /opt/homebrew/Library/Taps/homebrew/homebrew-services
然后通过brew tap指令更新homebrew-services:
brew tap homebrew/services
到此为止,终于大功告成,前后端都起起来了。我在想,为啥我安装若依框架,遇到这么多问题呢?我得晚上好好反思一下。