ruoyi-vue初步接触

因为最近参加了一个比赛,培训的时候说最终考试是要求使用ruoyi-vue来做功能,于是我在网上找到了ruoyi这个项目,准备给他搭建起来。

找了一下官网 发现了这个 准备工作

然后我就开始查看本机环境

复制代码
java --version
openjdk 21.0.8 2025-07-15
OpenJDK Runtime Environment (build 21.0.8+9-Ubuntu-0ubuntu122.04.1)
OpenJDK 64-Bit Server VM (build 21.0.8+9-Ubuntu-0ubuntu122.04.1, mixed mode, sharing)
复制代码
mysql --version
mysql  Ver 8.0.43-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))

还有个 Maven ,我发现这个我没有,就赶紧去装一个 还是apt命令老一套

复制代码
sudo apt install maven

然后看看版本

复制代码
mvn --version
Apache Maven 3.6.3
Maven home: /usr/share/maven

好了,然后去克隆仓库

就 git clone 呗

复制代码
git clone https://gitee.com/y_project/RuoYi.git

然后,就是来到仓库下面,给那个 ruoyi-admin/src/main/resources/application-druid.yml 文件里面的连接数据库的信息改改,就是这段

复制代码
            master:
                url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
                username: root
                password: root

配置完了,就把数据库也对应的导入一下。

复制代码
mysql> create database `ry-vue` charset utf8mb4;
Query OK, 1 row affected (0.03 sec)

mysql> use `ry-vue`
Database changed

然后导进去数据库文件 mysql> source /home/zhaoyao/script/java/RuoYi-Vue/sql/ry_20250522.sql;

好了,然后数据库创建好了。

来到仓库目录下,ll 命令看一下列表

复制代码
ll
total 76K
drwxrwxr-x 2 zhaoyao zhaoyao 4.0K  9月  8 17:57 bin
drwxrwxr-x 2 zhaoyao zhaoyao 4.0K  9月  8 17:57 doc
-rw-rw-r-- 1 zhaoyao zhaoyao 1.1K  9月  8 17:57 LICENSE
-rw-rw-r-- 1 zhaoyao zhaoyao  10K  9月  8 17:57 pom.xml
-rw-rw-r-- 1 zhaoyao zhaoyao 9.7K  9月  8 17:57 README.md
drwxrwxr-x 4 zhaoyao zhaoyao 4.0K  9月 16 14:34 ruoyi-admin
drwxrwxr-x 4 zhaoyao zhaoyao 4.0K  9月 16 14:34 ruoyi-common
drwxrwxr-x 4 zhaoyao zhaoyao 4.0K  9月 16 14:34 ruoyi-framework
drwxrwxr-x 4 zhaoyao zhaoyao 4.0K  9月 16 14:34 ruoyi-generator
drwxrwxr-x 4 zhaoyao zhaoyao 4.0K  9月 16 14:34 ruoyi-quartz
drwxrwxr-x 4 zhaoyao zhaoyao 4.0K  9月 16 14:34 ruoyi-system
drwxrwxr-x 7 zhaoyao zhaoyao 4.0K  9月 16 14:33 ruoyi-ui
-rw-rw-r-- 1 zhaoyao zhaoyao 1.6K  9月  8 17:57 ry.bat
-rw-rw-r-- 1 zhaoyao zhaoyao 1.7K  9月  8 17:57 ry.sh
drwxrwxr-x 2 zhaoyao zhaoyao 4.0K  9月  8 17:57 sql

然后 执行 mvn clean install -Dmaven.test.skip=true

提示一大堆,然后就看到这个

复制代码
[INFO] ruoyi .............................................. SUCCESS [  0.116 s]
[INFO] ruoyi-common ....................................... SUCCESS [  2.147 s]
[INFO] ruoyi-system ....................................... SUCCESS [  0.365 s]
[INFO] ruoyi-framework .................................... SUCCESS [  0.411 s]
[INFO] ruoyi-quartz ....................................... SUCCESS [  0.142 s]
[INFO] ruoyi-generator .................................... SUCCESS [  0.220 s]
[INFO] ruoyi-admin ........................................ SUCCESS [  0.865 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  4.402 s
[INFO] Finished at: 2025-09-16T15:02:54+08:00
[INFO] ------------------------------------------------------------------------

说明这一步成功了,然后有可能中间提示什么没有ruoyi的文件夹来记录日志,那你手动创建一个 并且给权限就好了。

然后来到后端

复制代码
cd ruoyi-admin/target

再执行

复制代码
java -jar ruoyi-admin.jar

就看到了如下效果

复制代码
java -jar ruoyi-admin.jar
Application Version: 3.9.0
Spring Boot Version: 2.5.15
////////////////////////////////////////////////////////////////////
//                          _ooOoo_                               //
//                         o8888888o                              //
//                         88" . "88                              //
//                         (| ^_^ |)                              //
//                         O\  =  /O                              //
//                      ____/`---'\____                           //
//                    .'  \\|     |//  `.                         //
//                   /  \\|||  :  |||//  \                        //
//                  /  _||||| -:- |||||-  \                       //
//                  |   | \\\  -  /// |   |                       //
//                  | \_|  ''\---/''  |   |                       //
//                  \  .-\__  `-`  ___/-. /                       //
//                ___`. .'  /--.--\  `. . ___                     //
//              ."" '<  `.___\_<|>_/___.'  >'"".                  //
//            | | :  `- \`.;`\ _ /`;.`/ - ` : | |                 //
//            \  \ `-.   \_ __\ /__ _/   .-` /  /                 //
//      ========`-.____`-.___\_____/___.-`____.-'========         //
//                           `=---='                              //
//      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^        //
//             佛祖保佑       永不宕机      永无BUG               //
////////////////////////////////////////////////////////////////////
15:07:28.893 [background-preinit] INFO  o.h.v.i.util.Version - [<clinit>,21] - HV000001: Hibernate Validator 6.2.5.Final
15:07:28.894 [main] INFO  c.r.RuoYiApplication - [logStarting,55] - Starting RuoYiApplication using Java 21.0.8 on lnb000597chn with PID 73476 (/home/zhaoyao/script/java/RuoYi-Vue/ruoyi-admin/target/ruoyi-admin.jar started by zhaoyao in /home/zhaoyao/script/java/RuoYi-Vue/ruoyi-admin/target)
15:07:28.895 [main] DEBUG c.r.RuoYiApplication - [logStarting,56] - Running with Spring Boot v2.5.15, Spring v5.3.39
15:07:28.895 [main] INFO  c.r.RuoYiApplication - [logStartupProfileInfo,686] - The following 1 profile is active: "druid"
15:07:30.300 [main] INFO  o.a.c.h.Http11NioProtocol - [log,168] - Initializing ProtocolHandler ["http-nio-8080"]
15:07:30.302 [main] INFO  o.a.c.c.StandardService - [log,168] - Starting service [Tomcat]
15:07:30.302 [main] INFO  o.a.c.c.StandardEngine - [log,168] - Starting Servlet engine: [Apache Tomcat/9.0.108]
15:07:30.341 [main] INFO  o.a.c.c.C.[.[.[/] - [log,168] - Initializing Spring embedded WebApplicationContext
15:07:30.811 [main] DEBUG c.r.f.s.f.JwtAuthenticationTokenFilter - [init,242] - Filter 'jwtAuthenticationTokenFilter' configured for use
15:07:31.283 [main] INFO  c.a.d.p.DruidDataSource - [init,1002] - {dataSource-1} inited
15:07:31.697 [main] DEBUG c.r.s.m.S.selectDictDataList - [debug,135] - ==>  Preparing: select dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark from sys_dict_data WHERE status = ? order by dict_sort asc
15:07:31.803 [main] DEBUG c.r.s.m.S.selectDictDataList - [debug,135] - ==> Parameters: 0(String)
15:07:31.820 [main] DEBUG c.r.s.m.S.selectDictDataList - [debug,135] - <==      Total: 29
15:07:32.185 [main] DEBUG c.r.s.m.S.selectConfigList - [debug,135] - ==>  Preparing: select config_id, config_name, config_key, config_value, config_type, create_by, create_time, update_by, update_time, remark from sys_config
15:07:32.186 [main] DEBUG c.r.s.m.S.selectConfigList - [debug,135] - ==> Parameters: 
15:07:32.188 [main] DEBUG c.r.s.m.S.selectConfigList - [debug,135] - <==      Total: 8
15:07:32.538 [main] INFO  o.q.i.StdSchedulerFactory - [instantiate,1220] - Using default implementation for ThreadExecutor
15:07:32.546 [main] INFO  o.q.c.SchedulerSignalerImpl - [<init>,61] - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl
15:07:32.547 [main] INFO  o.q.c.QuartzScheduler - [<init>,229] - Quartz Scheduler v.2.3.2 created.
15:07:32.547 [main] INFO  o.q.s.RAMJobStore - [initialize,155] - RAMJobStore initialized.
15:07:32.548 [main] INFO  o.q.c.QuartzScheduler - [initialize,294] - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
  NOT STARTED.
  Currently in standby mode.
  Number of jobs executed: 0
  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.

15:07:32.548 [main] INFO  o.q.i.StdSchedulerFactory - [instantiate,1374] - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance.
15:07:32.548 [main] INFO  o.q.i.StdSchedulerFactory - [instantiate,1378] - Quartz scheduler version: 2.3.2
15:07:32.548 [main] INFO  o.q.c.QuartzScheduler - [setJobFactory,2293] - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@50211483
15:07:32.564 [main] DEBUG c.r.q.m.S.selectJobAll - [debug,135] - ==>  Preparing: select job_id, job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, remark from sys_job
15:07:32.565 [main] DEBUG c.r.q.m.S.selectJobAll - [debug,135] - ==> Parameters: 
15:07:32.567 [main] DEBUG c.r.q.m.S.selectJobAll - [debug,135] - <==      Total: 3
15:07:33.310 [main] INFO  o.a.c.h.Http11NioProtocol - [log,168] - Starting ProtocolHandler ["http-nio-8080"]
15:07:33.479 [main] INFO  o.q.c.QuartzScheduler - [start,547] - Scheduler quartzScheduler_$_NON_CLUSTERED started.
15:07:33.487 [main] INFO  c.r.RuoYiApplication - [logStarted,61] - Started RuoYiApplication in 4.842 seconds (JVM running for 5.188)
(♥◠‿◠)ノ゙  若依启动成功   ლ(´ڡ`ლ)゙  
 .-------.       ____     __        
 |  _ _   \      \   \   /  /    
 | ( ' )  |       \  _. /  '       
 |(_ o _) /        _( )_ .'         
 | (_,_).' __  ___(_ o _)'          
 |  |\ \  |  ||   |(_,_)'         
 |  | \ `'   /|   `-'  /           
 |  |  \    /  \      /           
 ''-'   `'-'    `-..-'              

这说明后端启动成功,然后再开个命令行窗口来到前端 cd ruoyi-ui/

先执行

复制代码
npm install

再执行

复制代码
npm run dev

如果提示说 vue-cli-service 没权限 那你就给他加可执行权限就行

复制代码
chmod +x node_modules/.bin/vue-cli-service

如果运行成功,会自动打开浏览器,就是这个界面

如果失败是有可能提示,ENOSPC: System limit for number of file watchers reached

那就按下面的做,不过这个重启后失效

复制代码
# 临时将 max_user_watches 设置为 524288
sudo sysctl fs.inotify.max_user_watches=524288
# 使更改立即生效
sudo sysctl -p

想要永久生效,得改那个文件 /etc/sysctl.conf ,里面增加一行 fs.inotify.max_user_watches=524288

然后,好了,你就可以用这套系统了,这套系统总体来说上手难度不大,还能自动生成代码,也还是不错的。