如何将Mac M1上的Ruby on Rails应用工作区导出至Linux构建机器?
迁移Mac M1上的Ruby on Rails项目到Linux服务器
1. 做好项目的版本控制/备份
如果还没使用Git管理项目,在Mac的项目根目录执行:
git init git add . git commit -m "Initial project commit"
- 可选方案1:推送到私有Git仓库(比如自建Git服务),方便后续拉取更新
- 可选方案2:直接打包项目文件:
git archive -o rails-project.tar.gz HEAD
2. 配置Linux服务器的基础环境
确保Linux服务器安装了和Mac上版本完全一致的Ruby、Rails及依赖工具:
- 用rbenv安装指定版本Ruby:
sudo apt update && sudo apt install rbenv ruby-build echo 'eval "$(rbenv init - bash)"' >> ~/.bashrc source ~/.bashrc # 替换为你项目使用的Ruby版本,比如3.2.2 rbenv install 3.2.2 rbenv global 3.2.2
- 安装对应版本的Rails:
# 替换为你项目的Rails版本,比如7.0.8 gem install rails -v 7.0.8
- 安装数据库依赖(以PostgreSQL为例):
sudo apt install postgresql postgresql-contrib libpq-dev
- 安装前端依赖(根据项目需求调整):
sudo apt install nodejs yarn
3. 将项目传输到Linux服务器
- 用Git拉取:在Linux服务器上执行
git clone <你的Git仓库地址>
- 用打包文件传输:
# Mac终端执行,替换为你的服务器用户名、IP和目标路径 scp rails-project.tar.gz your-user@linux-ip:/home/your-user/ # Linux服务器终端解压 tar -xzf rails-project.tar.gz
4. 安装项目依赖
进入项目目录,安装所需的gem和前端依赖:
cd rails-project bundle install # 项目使用Webpacker/importmaps时执行 yarn install
5. 配置数据库并完成迁移
- 复制并编辑数据库配置文件:
cp config/database.yml.example config/database.yml # 用vim/nano编辑database.yml,匹配Linux上的数据库用户名、密码 nano config/database.yml
- 创建数据库并执行迁移:
rails db:create rails db:migrate # 有种子数据时执行导入 rails db:seed
6. 预编译静态资源(生产环境必备)
部署到生产环境时,需要预编译静态资源:
RAILS_ENV=production rails assets:precompile
7. 启动服务
- 开发环境测试(允许外部访问):
rails server -b 0.0.0.0
- 生产环境建议用Puma/Unicorn配合Nginx做反向代理,保证服务稳定运行。
内容的提问来源于stack exchange,提问作者KBh
相关产品推荐
相关产品推荐

