[英]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
看起来像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.