我在RVM身上发现了一种奇怪的行为,并且不知道如何处理它。
如果我在项目的根上打开一个终端,那么RVM似乎不能根据.ruby-version & .ruby-gemset自动更改它的RVM集。请回顾一下我的意思
# open a terminal directly in terminal_ui directory, which contains .ruby-version & .ruby-gemset
ls -a # ... .ruby-version .ruby-gemset
rvm gemset list
gemsets for ruby-2.2.1 (found in /home/epic/.rvm/gems/ruby-2.2.1)
=> (default)
fasteria
global
terminal
terminal_ui
# but if I cd to the top and then back again, my gemset will be
cd ../
cd terminal_ui
rvm gemset list
gemsets for ruby-2.2.1 (found in /home/epic/.rvm/gems/ruby-2.2.1)
(default)
fasteria
global
terminal
=> terminal_ui有用的信息:
cat .ruby-version # => 2.2.1
cat .ruby-gemset # => terminal_ui
rvm -v # => rvm 1.26.11我试过rvm get stable,但没有成功。
发布于 2015-06-02 09:15:36
RVM使用几个钩子来更改用户操作上的ruby版本和宝石集:
当您在项目文件夹中打开终端时,不使用命令,因此不会调用钩子。但是您可以在.bashrc或.bash_profile文件中添加以下行(在与RVM相关的行之后):
cd .它将导致RVM使用它的钩子并设置正确的宝石集。更多关于钩子的信息:文档。
发布于 2015-06-02 09:28:52
您可以自动使用.rvmrc进行更改。
cd terminal_ui
touch .rvmrc
echo rvm use 2.1.1@terminal_ui >> .rvmrc
cd .https://stackoverflow.com/questions/30591281
复制相似问题