繁体   English   中英

是否可以使用postgres将一个rails项目从windows部署到linux服务器?

[英]Is it possible to deploy a rails project from windows to linux server with postgres?

当我尝试将rails项目从windows本地环境部署到linux(CentOS6.5)服务器时,我从capistrano 3收到错误。

Gem::LoadError: Specified 'postgresql' for database adapter, but the gem is not loaded. Add `gem 'pg'` to your Gemfile.

我在Gemfile有一个gem 'pg' 我在Gemfile.lock找到了导致问题的Gemfile.lock

pg (0.17.1-x86-mingw32)

当我删除Gemfile.lock并在另一个Linux虚拟主机中运行bundle install时,问题就解决了。 但我无法找到如何在Windows中解决它的方法。

据我所知,如果我使用Capistrano ,我必须将Gemfile.lock发送到服务器。 在Windows中创建的Gemfile.lock与在linux或osx中创建的Gemfile.lock不兼容。

有没有办法使用capistrano从windows部署到带有postgres的linux服务器?

看起来这已经成为捆绑商多年来的一个问题:目前在github上打开'问题': https//github.com/bundler/bundler-features/issues/4

原始问题(4岁): https//github.com/bundler/bundler/issues/646

  • 如果你向下滚动很远,有一个capistrano黑客自动修复Gemfile.lock,可能值得尝试

看起来像Heroku实际上删除了Gemfile.lock,如果它引用Windows特定的宝石

来自: https//devcenter.heroku.com/articles/bundler-windows-gemfile

在Windows上进行开发时,尽可能在Gemfile中具体说明。 如果您团队中只有一名开发人员拥有Windows计算机,请考虑在部署之前不要检查他们的Gemfile.lock更改或手动捆绑安装并在非Windows计算机上提交。

并且https://ninefold.com/也有类似的推荐:黑客攻击Gemfile.lock

https://help.ninefold.com/hc/en-us/articles/201335424-Deploying-a-Windows-Created-Rails-App

无论你使用windows / linux / mac运行capistrano脚本都没关系。

请提供完整的系统详细信息(远程计算机)。

你用什么(RVM / rbenv)在那里安装了ruby?

你有所有本机扩展来在机器上构建宝石吗?

http://alexpotrykus.com/blog/2013/04/05/rails-deployment-with-unicorn-and-nginx-on-centos-6-dot-3/

看到上面的链接,并尝试配置你的系统(这使用Capistrano 2,但使用你的脚本只是建立文章中所写的机器)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM