我正在开发分布式rails应用,并希望更新gem。问题是在一台服务器上它不会更新,因为gem环境不同。具体来说,在rails root中运行gem env
或bundle exec gem env
时会得到两个不同的结果。后者决定了应用程序的宝石环境,这是错误的,但我不知道如何改变它。我没有在服务器上的任何地方看到.gemrc文件和我检查过的.bashrc文件,他们也没有导出任何gem环境变量。它使用rvm
作为红宝石。例如,GEM PATH
我想改变,所以我通过app和rvm来查看该路径是否在某个文件中并且它不是。那时我不确定环境的设定位置。有什么建议在哪里查看或如何排除故障?
答案 0 :(得分:0)
查看bundle的手册页,我发现'bundle config'。它给了我找到问题所需的信息。它告诉我它正在从/home/rails/.bundle/config获取一些设置。检查完该文件后,我发现它将BUNDLE_PATH设置为不正确的设置。将该文件移到一边允许我更新我想要的gem。我想这个故事的寓意是'bundle config'(更具体地说,'bundle exec bundle config')是你的朋友,如果'gem env'给出意想不到的结果,请检查你的系统中的.bundle / config文件中的设置