我在Windows环境中开发了Rails应用程序,我正在尝试部署到Linux Ubuntu 16.04中。我绊倒了这个错误:
您的捆绑仅支持平台[“x64-mingw32”],但您的本地 平台是[“ruby”,“x86_64-linux”]并且没有兼容的匹配 在这两个名单之间。
我认为问题出在gemfile.lock上。除了为每个宝石看到带有'x64-mingw32'的字符串外;我发现还有这个:
PLATFORMS
x64的mingw32的
如何在Linux 16.04 LTS环境中运行应用程序?
答案 0 :(得分:1)
Capistrano需要Gemfile.lock文件才能进行部署。 Bundler是造成这种情况的原因,但根据他们的Github,这是故意使您的应用程序与不同平台兼容的行为。
为使此功能正常运行-从1.13版本开始,您可以在Windows上运行bundle lock --add-platform ruby
以便将ruby平台提前添加到锁定文件中。
答案 1 :(得分:0)
您的listeners
限制了您的应用可以运行的平台
在没有dispatch
文件的情况下将应用程序部署到Linux中可以解决您的问题。
如果您的Gemfile.lock
中有任何特定于Windows的宝石,最好将其移至专用区域:
.lock