ruby-on-rails - Gemfile.lock 应该致力于 Windows 上的源代码管理吗?

标签 ruby-on-rails ruby windows heroku

这里是 Ruby 新手。

我通过 ruby​​installer 下载 ruby​​,gem install rails,解决了一些缺失的库,最后 fork 了 ruby project我想继续努力。

在接触任何东西之前,我看到我的 Gemfile.lock 被修改了:

diff --git a/Gemfile.lock b/Gemfile.lock
index aefda68..9ebccba 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -46,6 +46,7 @@ GEM
     diff-lcs (1.1.3)
     erubis (2.7.0)
     eventmachine (1.0.0)
+    eventmachine (1.0.0-x86-mingw32)
     execjs (1.4.0)
       multi_json (~> 1.0)
     hike (1.2.1)
@@ -65,11 +66,17 @@ GEM
     multi_json (1.3.6)
     multi_xml (0.2.2)
     pg (0.14.1)
+    pg (0.14.1-x86-mingw32)
     polyglot (0.3.3)

...

 PLATFORMS
   ruby
+  x86-mingw32

所有修改的行似乎都与 Windows 相关。 This answer似乎表明我不应该 gitignore Gemfile.lock(它已经提交给了我克隆的 repo)。 This answer暗示如果我提交并将其推送到 heroku,我可能会出错(有道理,因为我不希望我的应用程序依赖于特定于 Windows 的文件)。

那么,它是什么?我该如何解决?我应该从我的存储库中删除 Gemfile.lock 吗?

最佳答案

上次我使用 Windows Gemfile.lock 推送到 Heroku 时,它处理得非常优雅。我不记得它是否失败并重建了 Gemfile.lock 或只是剥离了二进制 gem 标签。

我看到了 2 个可行的选择。
一种是假设此行为不会出现问题。这意味着使用严格的 gem 版本要求或更新您的 bundle 并在推送之前确认一切正常。

另一个是使用:platform flag in your Gemfile .我不会推荐这个,但它应该强制关闭源代码并在本地编译 gem。这意味着任何外部依赖项都需要可用。对于许多二进制 gem(如 pg gem),这不是一件容易的事。对于其他一些 gem ,这几乎是不可能的。再一次,我不建议这样做。

关于ruby-on-rails - Gemfile.lock 应该致力于 Windows 上的源代码管理吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14034561/

相关文章:

ruby-on-rails - 打开Spree::User类并添加功能而不丢失现有功能

ruby-on-rails - elasticsearch-rails gem中的动态index_name

ruby-on-rails - Rails - 如何通过user_id查询5个不同表中的记录

windows - 如何防止双击“打开文件”对话框注册对其下方表单的单击?

ruby-on-rails - 如何在 Rails 主机上轻松运行 sinatra/padrino 应用程序

ruby - 分配变量时如何避免显示 API 查询的结果

mysql - 每当我运行 rake db :migrate 时,Rails Schema 都会无意中更改

windows - 如何枚举 Windows LPT 端口及其 I/O 范围?

c# - 如何将打印机驱动程序转换为独立的控制台应用程序,该应用程序可以生成包含要发送到打印机的字节的打印机文件?

ruby-on-rails - ( this AND this ) OR ( this AND this )的Arel语法