RubyMine在Mac OS上的Docker中无法看到bundle中的gems

44

我正在使用一个带有指定环境变量的Docker镜像,例如GEM_HOMEBUNDLE_PATH

RubyMine可以成功连接远程Docker SDK,但是我无法看到由bundler添加的gems,尽管bundler本身存在。我的分析器无法配置项目,因此我被迫从Terminal启动所有任务和服务器。

Ruby SDK and Gems

如何使我的bundle gems可见?


更新

实际上这与自定义bundle gems路径有关。更改后,gems从gem list中消失了。 RubyMine从那里获取gems,因此它找不到那些gems。

有没有人知道如何使用bundler自定义gems路径生成gem list


更新2

即使将bundle gems添加到gem list中,我仍然遇到相同的问题:(


我也有同样的问题。我的Docker开发环境是基于https://github.com/phusion/passenger-docker,并且我有多个项目。为了提高性能(因为OSX上的docker数据卷速度很慢),Gems在多个项目之间共享(使用自定义BUNDLE_PATH)。 - Mauro Nidola
1
在你的 Dockerfile 中,环境变量 GEM_HOMEBUNDLE_PATH 是否设置正确?如果在容器内运行 gem list 显示了 gem 包,我认为 RubyMine 现在可以识别它们了。这对你仍然没有起作用吗? - ms-ati
1
你的 Docker 工作路径是否正确挂载了?听起来你可以很好地通过端口进行通信,但我认为 Rubymine 需要能够查看文件系统。在 Vagrant 上,我曾经不得不将我的驱动器挂载到容器/虚拟机中,以允许它们双向通信。 - awsmsce
你在使用rbenv或者类似工具吗? - Cninroh
1
有人解决了这个问题吗?我发现设置Rubymine非常令人沮丧。 - Raymond Ruiz-Veve
显示剩余2条评论
1个回答

2

我也曾遇到同样的问题。

通过在~/.zshc用户配置文件中设置以下参数,成功解决了这个问题。

你的RUBY_PATH可能不同,可以随意更改。

export RUBY_PATH=/usr/local/opt/ruby/bin
export PATH="$RUBY_PATH:$PATH"
export RUBY_VERSION=$($RUBY_PATH/ruby -e "puts RUBY_VERSION")
export PATH="/usr/local/lib/ruby/gems/$RUBY_VERSION/bin:$PATH"
export GEM_HOME="$HOME/.gem"
export GEM_PATH="$GEM_HOME/ruby/$RUBY_VERSION"

您可以从这个代码片段中获取它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接