我将我的 bundler 配置为将 gems 安装到每个项目内的 .bundle/
目录中。
$ cat ~/.bundle/config
---
BUNDLE_PATH: ".bundle"
BUNDLE_BIN: ".bundle/bin"
当我cd
到我的项目中?
到目前为止我有一个 little script每当我在项目目录中cd
时,都会设置$GEM_HOME
(以及$PATH
和$GEM_PATH
),但是对于最新版本的 rvm 它已经停止工作,现在 RVM 基本上在我手动更改 $GEM_HOME
时取消设置 Ruby 版本,我不知道如何让它再次工作。
最佳答案
首先,您应该指定要为您的项目使用非常独立的 gemset(假设它的名称是 myproject42):
$ cd myproject42 && rvm --rvmrc --create use 2.1.0@myproject42 --ignore-gemsets
rvmrc
选项将在您的文件夹中创建配置文件。你已经与宇宙半分离了。现在你想稍微修改一下这个文件,设置你想要的任何东西:
...
unset __hook
# my exports
export GEM_PATH=`pwd`
export GEM_HOME=`pwd`
...
cd
退出并返回到该目录。这将导致警告:
You are using '.rvmrc', it requires trusting, it is slower and ...
[LINES SKIPPED]
************************
y[es], n[o], v[iew], c[ancel]> y
Using: /tmp/myproject42
一旦您确认您知道此修改,gemset 将设置为您想要的(在本例中为 /tmp/myproject42
。)您可以验证:
$ rvm gemset dir
Warning! PATH is not properly set up, '/tmp/myproject42/bin' is not available,
[LINES SKIPPED]
/tmp/myproject42
您可能想要进行一些清理,例如抑制这些警告。 “howtos”打印在这个警告中,它们非常简单,所以我将初始过程的描述保留为“脏”,以准确显示它将如何在您的机器上运行。
希望对您有所帮助。
关于ruby - 我怎样才能让 RVM 尊重我的 bundler 关于在哪里放置 gem 的设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26169167/