本地Gem和系统安装的Gem之间存在Ruby Gem冲突

本地Gem和系统安装的Gem之间存在Ruby Gem冲突,ruby,linux,ubuntu,rubygems,Ruby,Linux,Ubuntu,Rubygems,我有一个类似以下内容的文件: 来源“” parent\u gem依赖于child\u gem-1.4.1,我们已将其打包在包中的/vender/gems文件夹中。如果用户在Ubuntu上的主机上安装child\u gem-1.6.0,他们将得到gem::ConflictError,因为它将尝试使用1.6,并且日志child\u gem-1.6.0与child\u gem(~>1.4.1)冲突。但是,如果用户在Amazon Linux上运行它,它工作正常,并使用打包的child gem 如果我运行

我有一个类似以下内容的文件:

来源“”

parent\u gem
依赖于
child\u gem-1.4.1
,我们已将其打包在包中的
/vender/gems
文件夹中。如果用户在Ubuntu上的主机上安装
child\u gem-1.6.0
,他们将得到
gem::ConflictError
,因为它将尝试使用1.6,并且日志
child\u gem-1.6.0与child\u gem(~>1.4.1)冲突。
但是,如果用户在Amazon Linux上运行它,它工作正常,并使用打包的child gem

如果我运行
gem list child\u gem
,我将在两个系统上获得以下输出:

*** LOCAL GEMS ***

child_gem (1.6.1)
gem list parent\u gem
不返回任何内容,因为它不是单独安装的,只存在于包的
供应商
目录中

在启动脚本的文件中,有以下行:

Gem.use_paths(nil, Gem.path << "/opt/my-app/vendor")

Gem.使用路径(nil,Gem.path Ruby不使用Gemfile;Bundler使用。您的amazon linux机器有哪些Gem?执行
$Gem list child\u Gem
并显示输出please@uDaY我在问题中添加了输出。谢谢!您是否也可以对父\u gem执行相同的操作,并显示您是否正在将子\u gem强制为Gemfile中的特定版本。
Gem.use_paths(nil, Gem.path << "/opt/my-app/vendor")