How to manage multiple gemsets and ruby versions with RVM?

前端 未结 2 1956
鱼传尺愫
鱼传尺愫 2020-12-24 03:43

I am really confused by the explanations given in RVM website. The relation between different ruby interpretors and gemsets are not clear to me. According to me, it is like

相关标签:
2条回答
  • 2020-12-24 04:10

    Here is how I like to do it...

    1. Install a ruby with RVM
    2. Switch to/use that ruby
    3. Create a gemset for a project
    4. Switch to/use that gemset
    5. Install gems needed
    6. create an alias that points to my chosen ruby & gemset
    7. switch to/use that new alias (again, associated w/ a project)

    Do this as many times necessary for your different projects that you want to keep separate from eachother.

    Example:

    $ rvm install ruby-1.9.2
    ...
    $ rvm list
    
    rvm rubies
    
    => ree-1.8.7-head [ i386 ]
       ruby-1.9.2-head [ i386 ]
       ruby-1.9.2-preview3 [ i386 ]
    
    $ rvm use ruby-1.9.2-preview3
    
    info: Using ruby 1.9.2 preview3
    $  rvm gemset create my_project
    
    info: Gemset 'my_project' created.
    rvm gemset use my_project
    
    info: Now using gemset 'my_project'
    $ gem install httparty
    When you HTTParty, you must party hard!
    Successfully installed crack-0.1.8
    Successfully installed httparty-0.6.1
    2 gems installed
    $ rvm alias create my_project ruby-1.9.2-preview3@my_project
    
    info: Creating alias my_project for ruby-1.9.2-preview3@my_project.
    
    info: Recording alias my_project for ruby-1.9.2-preview3@my_project.
    $ rvm use my_project
    
    info: Using ruby 1.9.2 preview3 with gemset my_project
    $ ....
    

    Now I have an entire environment dedicated to a particular project. This is great because I can experiment with all sorts of different gems/versions without worrying about stomping all over other projects that have very specific requirements.

    Good luck!

    0 讨论(0)
  • 2020-12-24 04:21

    To add onto Brian's answer above, you can also use .rvmrc files to dynamically switch gemsets when entering new project directories.

    simply run the following:

    rvm rvmrc create ruby-1.8.7-p358@my_project
    

    This will help stop confusion which I had when switching and forgetting to change gemsets

    UPDATE .rvmrc files are in the process of being dropped for the newer .ruby-version file see discussion here: https://gist.github.com/fnichol/1912050

    0 讨论(0)
提交回复
热议问题