我尝试使用 Docker 统一开发环境与生产环境,但是发现每次 bundle install 之后 Gemfile 生成的 lock 文件会不一样,并且会影响到部分代码的运行。
比如我先在 mac 下进行 bundle install,再在 Docker(debian)下进行 bundle 后,Gemfile.lock 就变了,并且有一些 rails 命令在 Docker 中失效了。
如果我把 lock 删掉,先在 Docker 中 install,然后在 Mac 下 install,RubyMine 就没办法执行 rspec 的测试了:
Unable to find a spec satisfying nokogiri (~> 1.8) in the set. Perhaps the lockfile is corrupted? Found nokogiri (1.12.4-x86_64-linux), nokogiri (1.12.4-x86_64-linux), nokogiri (1.12.4-x86_64-linux), nokogiri (1.12.4-x86_64-linux), nokogiri (1.12.4-x86_64-linux) that did not match the current platform.