【问题标题】:how to make a gemset in RVM the default?如何将 RVM 中的 gemset 设为默认值?
【发布时间】:2025-12-25 04:55:17
【问题描述】:

每当我在 Mac OS X 中启动新终端时,我都会尝试将 gemset 设为默认值:

rvm use 1.9.3@rails3.2 --create --default

这似乎可行,rails3.2 gemset 成为当前 gemset:

$ rvm gemset list

gemsets for ruby-1.9.3-p0 (found in /Users/me/.rvm/gems/ruby-1.9.3-p0)
   global
=> rails3.2

$

但是当我打开一个新终端时,rails3.2 gemset 不再是当前的:

$ rvm gemset list

gemsets for ruby-1.9.3-p0 (found in /Users/me/.rvm/gems/ruby-1.9.3-p0)
   global
   rails3.2

$

我该怎么办?

【问题讨论】:

    标签: ruby macos rubygems gem rvm


    【解决方案1】:

    您是否尝试在 gemset 创建后指定 rvm --default use 以便通过:

     rvm --default use ruby-1.9.3-p0@rails3.2
    

    然后看看是否坚持?我以前没有尝试过同时使用 create 和 default ,这是唯一让我觉得格格不入的事情。

    鉴于下面的讨论,我将提供此作为解决问题的一种方法。 (就个人而言,我可能会 implode rvm 并重新开始。)但是,如果你想尝试通过这个安装来完成它,那么我会查看你的 .rvm 文件夹,特别是在.rvm/environments/default 中,它将包含为默认环境导出的所有环境变量。在这里你会发现rvm_gemset_name 这可能设置不正确,并且由于某种原因(权限?)没有更新,或者设置正确,在这种情况下是其他环境问题。如果不正确,您可以尝试在文件中手动设置它。

    【讨论】:

    • 同样的问题...我运行它,rvm gemset list 看起来不错。但后来我打开了一个新的终端选项卡,rails3.2 gemset 不再是当前的。
    • 顺便说一句,我用过 ruby​​-1.9.3-p0@rails3.2 和 1.9.3@rails3.2,它们的行为都一样
    • .rvmrc 仅包含一个 rvm_path 环境变量,而我没有 .profile
    • 我已经修改了我的答案并尝试了其他一些方法。希望这会有所帮助。
    • 在我的 ~/.rvm/environments/default 文件中,关于 rvm_gemset_name 我只有以下行:unset rvm_gemset_name
    【解决方案2】:

    您可以使用此命令。

    rvm use --default <ruby version>@<gemset name>
    

    rvm --default use &lt;ruby version&gt;@&lt;gemset name&gt;

    rvm use <ruby version>@<gemset name> --default 
    

    【讨论】:

      【解决方案3】:

      使用以下命令将 gemset 设为默认值。

      rvm use <ruby version>@<gemset name> --default
      

      例如。

       rvm use 1.8.7-p370@mygemset --default
      

      【讨论】:

        【解决方案4】:

        有趣的是没有人提到 rvm 别名。试试你的版本特定变体,对我有用:

        $ rvm alias create default ruby-2.3.0@rails_4_2_6
        # me logs out, fetches another coffee
        # me logs in
        $ rvm list
        
        rvm rubies
        
           ruby-2.2.4 [ x86_64 ]
        =* ruby-2.3.0 [ x86_64 ]
        
        $ rvm gemset list
        
        gemsets for ruby-2.3.0 (found in /home/aclarke/.rvm/gems/ruby-2.3.0)
           (default)
           global
        => rails_4_2_6
        

        【讨论】:

          【解决方案5】:

          rubyracer 相关问题也可能与 libv8 一起出现。 要解决此问题: 第 1 步:运行以下命令卸载任何现有的 libv8 安装:

          gem uninstall libv8
          

          通过运行以下命令安装 ruby​​racer:

          gem install therubyracer -v 0.12.2
          

          通过运行以下命令安装 libv8:

          gem install libv8 -v 3.16.14.15 -- --with-system-v8
          

          立即尝试捆绑安装:

          bundle install
          

          【讨论】:

            【解决方案6】:

            你可以使用这个命令

            $ rvm use rubyversion@gemsetname --create --ruby-version
            

            例如: ruby 版本 = ruby​​-2.1.2

            gemset 名称 = gem320

            应该是

            $ rvm use ruby-2.1.2@gem320 --create --ruby-version.
            

            即使您也打开其他选项卡,它也会保留设置。

            【讨论】:

            • 我做了rvm use ruby-2.2.3@rails426 --create --ruby-version,但是当我打开其他选项卡时它仍然没有保留设置,并且我收到错误提示Your Ruby version is 2.2.1, but your Gemfile specified 2.2.3