Common Questions β
This document collects common problems and solutions during the use of Gin-Vue-Admin, helping you quickly locate and solve problems.
Quick Navigation β
- System Initialization Issues
- Frontend Related Issues
- Backend Related Issues
- Permission Management Issues
- Deployment Related Issues
- Database Related Issues
System Initialization Issues β
Frontend No Captcha Display β
Problem Description: Captcha image on login page cannot be displayed or shows blank
Solution:
Check Backend Service Status
bash# Confirm if backend service is running normally curl http://localhost:8888/api/base/captchaConfirm System Initialization
- Ensure database initialization is completed through system initialization page
- Check if database connection is normal
- Verify database configuration in
config.yamlfile
Check Network Connection
- Confirm frontend-backend network connectivity
- Check firewall settings
- Verify proxy configuration is correct
Initialization Timeout Issues β
Problem Description: Timeout errors like time-out occur during initialization process
Solution:
Adjust Frontend Timeout Settings
javascript// Increase timeout time in requset.js configuration timeout = 30000; // 30 secondsAdjust Backend Timeout Settings Configure time in core/server.go
Check Database Performance
- Confirm database server performance
- Check network latency
- Optimize database configuration
Database Engine Error β
Problem Description: Error 1071: Specified key was too long; max key length is 1000 bytes occurs during initialization
Solution:
Modify Database Default Engine
sql-- Modify database default engine to InnoDB ALTER DATABASE your_database_name DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;Modify Casbin Table Engine Separately
sql-- Modify casbin_rule table engine ALTER TABLE casbin_rule ENGINE=InnoDB;Specify Engine When Creating Database
sqlCREATE DATABASE gin_vue_admin CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Frontend Related Issues β
Route Prefix Issues β
Problem Description: Frontend route prefix is inconsistent with definition when accessing routes
Solution:
- Reason: To prevent browser CORS issues, GVA uses Vite (Webpack in older versions) for route proxying in the frontend
- Configuration Check:javascript
// vite.config.js export default { server: { proxy: { '/api': { target: 'http://localhost:8888', changeOrigin: true, rewrite: (path) => path.replace(/^\/api/, '') } } } }
Vite Version Compatibility Issues β
Problem Description: vite.createFilter is not a function error occurs during frontend packaging
Root Cause:
- Vite official version updates cause
@vitejs/plugin-vueandviteversion mismatch - Using
latestversion in package.json causes version conflicts
Solution:
Modify package.json
json{ "devDependencies": { "@vitejs/plugin-vue": "^2.3.3", "vite": "^3.0.0" } }Reinstall Dependencies
bash# Delete node_modules and package-lock.json rm -rf node_modules package-lock.json # Reinstall npm installUse Fixed Versions
- Avoid using
latesttag - Use specific version numbers or compatible version ranges
- Avoid using
Node.js Version Issues β
Problem Description: node:*** field errors occur during frontend runtime
Solution:
Check Node.js Version
bashnode --version # Ensure version >= 14.18 or >= 16.0Upgrade Node.js
bash# Use nvm to manage Node.js versions nvm install 16 nvm use 16Version Requirements
- Vite 3 requires Node.js version >= 14.18+ or 16+
- Recommend using LTS version for stability
Frontend White Screen Issues β
Problem Description: Frontend interface shows white screen, stuck in loading state with no error prompts
Troubleshooting Steps:
Check Console Errors
- Open browser developer tools
- Check Console and Network tabs
- Look for JavaScript errors
Check Import Paths
javascript// Check if all import statement paths are correct import Component from '@/components/Component.vue' // Ensure path existsCheck Third-party Packages
bash# Reinstall dependencies npm install # Check package version compatibility npm lsStep-by-step Troubleshooting
- Comment out suspicious import statements
- Restore one by one to locate problematic code
Backend Related Issues β
Custom API 404 Error β
Problem Description: Custom API returns 404 error
Solution:
Restart Backend Service
bash# Stop service Ctrl + C # Restart go run main.goCheck Route Registration
- Check route registration information in startup logs
- Confirm custom routes are registered correctly
- Reference Server Documentation
Verify Route Configuration
go// Ensure routes are registered correctly func InitRouter() { Router.POST("/api/custom/endpoint", customHandler) }
Permission Management Issues β
Insufficient Permission Error β
Problem Description: Permission denied when accessing APIs
Troubleshooting Steps:
Check API Management Configuration
- Go to
System ManagementβAPI Management - Check target API path and request method
- Important: Ensure no extra spaces in path and request method
- After saving changes, reassign role permissions
- Go to
Check Role Permission Assignment
- Go to
System ManagementβRole Management - Reassign API permissions for corresponding roles
- Confirm permissions are saved successfully
- Go to
Database Permission Rule Check
sql-- Query if permission rules exist SELECT * FROM casbin_rule WHERE v0='RoleID' AND v1='RequestRoute' AND v2='RequestMethod';Manually Add Permission Rules
sql-- If rules don't exist, add manually INSERT INTO casbin_rule (p_type, v0, v1, v2, v3, v4, v5) VALUES ('p', 'RoleID', 'RequestRoute', 'RequestMethod', null, null, null);
Menu Not Displaying Issue β
Problem Description: Left navigation bar doesn't show after adding menu
Solution:
Check Menu Permissions
- Go to
System ManagementβRole Management - Find corresponding role, edit permissions
- Check newly added menu in menu permissions
- Save permission settings
- Go to
Check Menu Configuration
- Confirm menu status is enabled
- Check menu hierarchy relationships
- Verify route configuration is correct
Refresh Permission Cache
- Re-login to system
- Or clear browser cache
Deployment Related Issues β
Static Resource Access Issues β
Problem Description: Images and other static resources cannot be accessed after Baota deployment
Solution:
Check Nginx Configuration
nginx# Remove static resource blocking rules # Comment or delete configurations like: # location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { # deny all; # }Configure Static Resource Service
nginxlocation /uploads/ { alias /path/to/gin-vue-admin/uploads/; expires 30d; }Backend Resource Configuration
- Ensure backend static resources are in
publicdirectory - Check file permission settings
- Ensure backend static resources are in
Database Related Issues β
Timezone Issues β
Problem Description: Time is 8 hours behind real time
Troubleshooting Steps:
Check System Timezone
bash# Check system timezone date timedatectl statusCheck Docker Timezone
dockerfile# Set timezone in Dockerfile ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezoneDatabase Timezone Configuration
MySQL:
sql-- Check timezone SELECT @@global.time_zone, @@session.time_zone; -- Set timezone SET GLOBAL time_zone = '+8:00'; SET SESSION time_zone = '+8:00';PostgreSQL:
sql-- Set timezone ALTER SYSTEM SET timezone TO 'Asia/Shanghai'; SELECT pg_reload_conf(); SHOW TIMEZONE;Application Timezone Configuration
go// Set timezone in main.go import "time" func init() { loc, _ := time.LoadLocation("Asia/Shanghai") time.Local = loc }
Reinitialize Database β
Problem Description: Need to reinitialize database
Operation Steps:
Temporarily Disconnect Database
yaml# Modify config.yaml to prevent backend from connecting to database mysql: path: "wrong_host:3306" # Intentionally fill wrong host db-name: "wrong_db" # Intentionally fill wrong database nameRestart Backend Service
bash# Restart backend go run main.goExecute Reinitialization
- Access frontend initialization page
- Fill in correct database configuration
- Click initialization button
Restore Correct Configuration
- After initialization, restore correct configuration in
config.yaml - Restart service
- After initialization, restore correct configuration in
Debugging Tips β
Log Viewing β
Backend Logs
bash# View real-time logs tail -f logs/server.log # View error logs grep "ERROR" logs/server.logFrontend Debugging
- Use browser developer tools
- Check request responses in Network tab
- View error information in Console
Common Debugging Commands β
# Check port usage
netstat -tulpn | grep :8888
# Check process status
ps aux | grep gin-vue-admin
# Check disk space
df -h
# Check memory usage
free -hGetting Help β
If the above solutions cannot resolve your issue, you can get help through the following ways:
- Official Documentation: Check detailed technical documentation
- GitHub Issues: Submit issue reports
- Community Forum: Participate in discussions
- QQ Group: Join official QQ group for communication
- WeChat Group: Follow official WeChat to get group QR code
Related Documentation β
- Quick Start - Project quick start guide
- Deployment Guide - Production environment deployment
- Troubleshooting - Detailed troubleshooting guide
- Best Practices - Development best practices


