【发布时间】:2013-02-21 23:55:46
【问题描述】:
今天我再次遇到了可怕的 ERROR: Gem bundler is not installed, run bundler 错误。这里有很多关于它的问题和很多调试技巧,但我开始深入挖掘,奇怪的是,即使我删除 gem install bundler first..rvmrc 和 bin 和 .bundle 我得到两个不同的结果不同的项目。据我所知,它们在 rvm 眼中应该是相同的,但我得到了不同的结果。在两个全新的 bash 窗口中,Linux Mint:
~ $ cd ${PROJECT_PATH}/project1
project1 $ echo $PATH
/usr/local/heroku/bin:/home/fletch/.rvm/gems/ruby-1.9.3-p385/bin:/home/fletch/.rvm/gems/ruby-1.9.3-p385@global/bin:/home/fletch/.rvm/rubies/ruby-1.9.3-p385/bin:/home/fletch/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
project1 $ tree -L 1 -a
.
|-- app
|-- config
|-- config.ru
|-- db
|-- Gemfile
|-- Gemfile.lock
|-- .git
|-- .gitignore
|-- Guardfile
|-- lib
|-- log
|-- Procfile
|-- public
|-- Rakefile
|-- .rspec
|-- script
|-- spec
|-- tmp
`-- vendor
11 directories, 15 files
这是所需的输出。现在为另一个项目:
~ $ cd ${PROJECT_PATH}/project2
project2 $ echo $PATH
/home/fletch/.rvm/gems/ruby-1.9.3-p385/bin:/home/fletch/.rvm/rubies/ruby-1.9.3-p385/bin:/home/fletch/.rvm/bin:/usr/local/heroku/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
project2 $ tree -L 1 -a
.
|-- app
|-- config
|-- config.ru
|-- coverage
|-- db
|-- Gemfile
|-- Gemfile.lock
|-- .git
|-- .gitignore
|-- Guardfile
|-- lib
|-- log
|-- public
|-- Rakefile
|-- README.md
|-- .rspec
|-- script
|-- spec
|-- tmp
`-- vendor
12 directories, 8 files
为什么我的路径不一样?第二个不加载全局gemset,并且出于某种原因也将heroku 位向后移动。作为参考,当我打开一个新的控制台时,我的默认路径与第一个路径匹配。 rvm 是否将一些信息保存在内存或一些关于哪些项目使用哪些版本的全局文件中?我无法在我的项目中辨别出任何模式。有些有效,有些无效。
【问题讨论】:
标签: ruby-on-rails rvm bundler