Ruby on rails Gemfile.lock是否应提交给Windows上的源代码管理?

Ruby on rails Gemfile.lock是否应提交给Windows上的源代码管理?,ruby-on-rails,ruby,windows,heroku,Ruby On Rails,Ruby,Windows,Heroku,我是鲁比·纽布 我通过rubyinstaller下载ruby,安装了gem rails,解决了一些缺少的库,最后完成了我想做的工作 在触摸任何东西之前,我看到我的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

我是鲁比·纽布

我通过rubyinstaller下载ruby,安装了
gem rails
,解决了一些缺少的库,最后完成了我想做的工作

在触摸任何东西之前,我看到我的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相关。似乎表明我不应该忽略Gemfile.lock(它已经提交给我克隆的repo)。这意味着如果我提交并将其推送到heroku,可能会出错(这是有道理的,因为我不希望我的应用程序依赖于Windows特定的文件)


那么,是哪一个?我该怎么修?我应该从我的repo中删除Gemfile.lock吗?

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

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


另一个是使用。我不推荐这样做,但它应该强制关闭源代码并在本地编译gem。这意味着任何外部依赖项都必须可用。对于很多二进制gem(比如
pg
gem),这不是一件容易的任务。有了其他一些宝石,这几乎是不可能的。再一次,我不建议这样做。

可能希望尝试GEmfile中的平台,我希望避免对GEmfile进行任何修改。我试图向我分叉的项目提交一个pull请求,但后来发现我意外地提交了这个文件。即使它可能不会引起问题,但gemfile修改肯定不是我试图向他们解释的内容的一部分。这两个选项中有一个有效吗?它们似乎都需要对gemfile进行一些修改。对不起,我假设问题是将应用程序部署到linux环境时,
gemfile.lock
会产生什么影响。我查看了我假设您正在谈论的。看起来您添加了一个
pry
依赖项,从而更改了
Gemfile.lock
。具有讽刺意味的是,您没有提交
Gemfile
更改,只是提交了
Gemfile.lock
更改=P我将返回并从提交中删除
Gemfile.lock
更改,因为更改是偶然的。