Ruby newb在这里。
我通过rubyinstaller下载了ruby,做了gem install rails
,解决了一些丢失的库,最后分叉了我想要处理的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吗?
答案 0 :(得分:1)
上次我用Windows Gemfile.lock
推送到Heroku时,它非常优雅地处理了它。我不记得它是否失败并重建了Gemfile.lock
或者只是剥离了二元宝石标签。
我看到有两个可行的选择
一种是假设这种行为不会出现问题。这意味着使用严格的宝石版本要求或更新您的bundle
并在推送之前确认一切正常。
另一种方法是使用:platform
flag in your Gemfile。我不会推荐这个,但它应该强制关闭源并在本地编译gem。这意味着需要任何外部依赖项。有了很多二元宝石(比如pg
宝石),这不是一件容易的事。对于其他一些宝石,它几乎是不可能的。再一次,我不建议这样做。