ruby - 我怎样才能让 RVM 尊重我的 bundler 关于在哪里放置 gem 的设置?

标签 ruby rvm bundler

我将我的 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/

相关文章:

ruby - RVM 正在从我的路径中删除/usr/bin

ruby-on-rails - 忽略生产中的 rake 任务

ruby - 如何设置测试环境(测试 gem`s + 测试数据库)

ruby-on-rails - Activerecord批量赋值给虚拟属性

ruby - 有没有办法在 Travis CI 的 Node 环境中使用 ruby​​?

ruby - 使用 ruby​​ 中的 SHA256 哈希算法计算符合 RFC 2104 的 HMAC

ruby-on-rails - 将 Rails Generator 作为 Ruby Gem 分发

ruby watir-webdriver 在哈希中使用变量

ruby-on-rails - rvm编译安装ruby 2.5.0出错

linux - 在 KDE Linux Mint 12 上删除 RVM 以作为单用户重新安装 RVM