这里是 Ruby 新手。
我通过 rubyinstaller 下载 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/