我是ruby的新手,我正在努力实现以下目标。
当我运行bundle install
时,我的项目应该创建一个gemset,其中包含项目gemset中安装的项目的Gemfile
中的所有gem依赖项。
所以我有以下文件
我的.ruby-version看起来像这样
红宝石2.0.0
我的.ruby-gemset文件如下所示
我的Gemfile只有ruby gem依赖项
当我执行bundle install
然后执行echo $GEM_HOME
时,我的$ GEM_HOME仍然是默认值,当我执行rvm list
时,当前的ruby版本是ruby-2.3.0
,这不是什么我在.ruby-version文件中指定,当我去〜/ .rvm / gems时,我在该文件夹中看不到我的gemset。
我错过了什么。谢谢!
答案 0 :(得分:1)
我的.ruby-version看起来像这样
ruby-2.0.0
根据rvm docs,它应该如下所示:
2.0.0
使用.
文件的rvm脚本由cd
命令触发 - 而不是bundle install
命令。因此,请尝试从项目目录中删除,然后再返回到项目目录中。然后检查之前检查的内容。
我刚创建了一个新的rails项目:
~/rails_projects$ rails new proj1
然后我在项目目录中创建了.ruby-version
和.ruby-gemset
文件:
~/rails_projects$ cd proj1
~/rails_projects/proj1$ echo 1.9.3-p551 > .ruby-version
~/rails_projects/proj1$ echo proj1gemset > .ruby-gemset
cd退出项目目录后再返回,运行的rvm脚本产生了一些输出:
~/rails_projects/proj1$ cd
~$ cd rails_projects/proj1/
ruby-1.9.3-p551 - #gemset created /Users/7stud/.rvm/gems/ruby-1.9.3-p551@proj1gemset
ruby-1.9.3-p551 - #generating proj1gemset wrappers..........
下次进入项目目录时,您将无法看到该输出。
随后,一切都设置正确:
~/rails_projects/proj1$ ruby -v
ruby 1.9.3p551 (2014-11-13 revision 48407) [x86_64-darwin14.5.0]
~/rails_projects/proj1$ rvm gemset list
gemsets for ruby-1.9.3-p551 (found in /Users/7stud/.rvm/gems/ruby-1.9.3-p551)
(default)
global
=> proj1gemset
~/rails_projects/proj1$ echo $GEM_HOME
/Users/7stud/.rvm/gems/ruby-1.9.3-p551@proj1gemset
~/rails_projects/proj1$ ls ~/.rvm/gems
cache
ruby-1.9.3-p551@proj1gemset
...
...
另一方面,如果您在创建rvm cd
文件后没有.
退出项目目录,而是运行bundle install
,则gemset赢了&# 39;创造。
答案 1 :(得分:-1)
尝试添加
ruby 2.0.0
进入你的Gemfile