Ruby on rails Gemfile.lock是否应提交给Windows上的源代码管理?
我是鲁比·纽布 我通过rubyinstaller下载ruby,安装了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
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
更改,因为更改是偶然的。