如何更改 gem 环境?

How do I change gem environment?

我正在开发一个分布式 rails 应用程序,想更新一个 gem。问题出在一台服务器上,它不会更新,因为 gem 环境不同。具体来说,在 rails root 中 运行 gem envbundle exec gem env 时,我得到两个不同的结果。后者决定了应用程序的 gem 环境,它是错误的,但我不知道如何更改它。我在服务器上的任何地方都没有看到 .gemrc 文件和我检查过的 .bashrc 文件,并且它们不导出任何 gem 环境变量。它使用 rvm 代替 ruby。例如,GEM PATH 我想更改,所以我通过应用程序和 rvm grep 来查看该路径是否在某个文件中,但事实并非如此。那么我不确定环境在哪里设置。任何建议在哪里看或如何排除故障?

查看 bundle 的手册页,我发现了 'bundle config'。它给了我找到问题所需的信息。它告诉我它正在从 /home/rails/.bundle/config 获取一些设置。检查该文件后,我发现它正在将 BUNDLE_PATH 设置为不正确的设置。将该文件移到一旁让我可以更新我想要的 gem。我想这个故事的寓意是 'bundle config'(更具体地说,'bundle exec bundle config')是你的朋友,如果 'gem env' 是,请检查你的系统中 .bundle/config 文件中的设置给出意想不到的结果。