我觉得这是一个超级初学者的问题,有一个明显的答案,但我很想念它。
我正在安装一个包含gem的Rails项目,该项目要求我使用2.2.2或更早版本的Ruby版本。由于我当前的系统使用较新版本的Ruby进行设置,因此当我运行bundle install
时,它会失败,因为其中一个gem不能与最新版本的Ruby一起安装。
所以,我设置我的系统使用ruby 2.2.2和rvm,rvm use ruby-2.2.2
。
然后我运行bundle install
并获得zsh: command not found: bundle
。为什么是这样?我的所有其他命令都有效,我可以使用gem install
单独安装问题gem。
我错过了什么?
答案 0 :(得分:25)
你可能已经安装了Bundler,因为你一直在使用ruby版本。但是,默认情况下,在RVM提供的ruby版本上没有安装Bundler,因此在切换到ruby-2.2.2后,为该ruby安装Bundler:
gem install bundler
然后再次尝试运行bundle install
。
答案 1 :(得分:3)
如果您刚刚在RVM安装2.2.2上切换到新版本的ruby
gem install bundler
上面列出的命令只能解决该单个gemset的这个错误。我建议运行以下命令以避免任何其他与同一版本的ruby相关的其他gemset。
rvm use 2.2.2@global
gem install bundler
这会将 bundler gem放入你的全局 2.2.2 gemset中,使其可用,但是所有其他2.2.2 gemset都可以写入。您还可以安装像nokogiri这样的宝石,这些宝石很常见,但在这个全球2.2宝石集中非常耗时