Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 为“bundle安装”假装其他平台`_Ruby On Rails_Ruby_Gem_Bundler - Fatal编程技术网

Ruby on rails 为“bundle安装”假装其他平台`

Ruby on rails 为“bundle安装”假装其他平台`,ruby-on-rails,ruby,gem,bundler,Ruby On Rails,Ruby,Gem,Bundler,我正在Windows下使用bundler进行开发,我想知道如何为我的生产环境创建Gemfile.lock 似乎缺少的是其他平台的精华。在上运行bundle安装 group :production do gem 'mysql2' end 在Windows上创建一个Gemfile.lock mysql2 (0.3.18-x86-mingw32) 当部署到Linux环境时,这显然是不正确的,我需要Gemfile.lock也包含Linux的正确结果。我可以在Linux上运行bundle安装,

我正在Windows下使用bundler进行开发,我想知道如何为我的生产环境创建
Gemfile.lock

似乎缺少的是其他平台的精华。在上运行
bundle安装

group :production do  
  gem 'mysql2'
end
在Windows上创建一个Gemfile.lock

mysql2 (0.3.18-x86-mingw32)
当部署到Linux环境时,这显然是不正确的,我需要Gemfile.lock也包含Linux的正确结果。我可以在Linux上运行
bundle安装
,并了解到这一点

mysql2 (0.3.18)
是Linux的正确gem。然后,我手动更新存储库中的
Gemfile.lock
,以包含以下内容:

mysql2 (0.3.18)
mysql2 (0.3.18-x86-mingw32)
这在两种平台下都能正常工作,但似乎有点混乱


如何告诉bundle为本地平台以外的其他平台解析
Gemfile.lock
?我想我需要像
捆绑安装这样的东西——所有平台。我遗漏了什么?

这似乎是一个内置绑定器,解决方法似乎是您需要使用的。

问题的可能重复部分有点不同,因为我不想为不同的平台指定不同的gem,而是不同的Gemfile.lock规范。特别是我认为这与
Gemfile
应该是什么背道而驰,如果我真的不在乎的话,我必须在
Gemfile
中将mysql固定到0.3.18。链接中的讨论有一点关于打包(对于打包,实际上有一个解决方案——所有平台)。决议如何?我可以运行bundler来解决平台的依赖关系而不进行安装吗?通常,部署是在与开发类似的平台上完成的,因此我只需关注我链接到的问题以获得解决方案。