0

今天我再次遇到了bundler 的可怕错误。这里有很多关于它的问题和很多调试技巧,但我开始深入挖掘,奇怪的是,即使我删除and并且我在两个不同的项目中得到不同的结果。据我所知,它们在 rvm 眼中应该是相同的,但我得到了不同的结果。在两个新的 bash 窗口中,Linux Mint:ERROR: Gem bundler is not installed, run gem install bundler first..rvmrcbin.bundle

~ $ 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 是否将一些信息保存在内存或一些关于哪些项目使用哪些版本的全局文件中?我无法在我的项目中辨别出任何模式。有些工作,有些不工作。

4

1 回答 1

1

RVM 支持的不仅仅是.rvmrc其中一个文件Gemfile使用bundler指定 ruby​​ 的指令:

ruby='1.9.3'

或具有偏好且特定于 RVM 的评论:

#ruby=1.9.3-p385
于 2013-02-22T00:36:14.693 回答