设置env,OSX rbenv和捆绑战斗

时间:2013-05-03 07:01:12

标签: ruby macos path bundler rbenv

所以我刚刚从ubuntu交换到mac并设置env并不像承诺的那么容易。

这是我遵循的过程。

  1. 安装了xcode - 然后进入了prefrences并下载了command line tools
  2. 然后通过运行gcc --version

    验证是否安装了正确的版本
    i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
    Copyright (C) 2007 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
  3. 然后安装了homebrew $ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
  4. brew doctor,这就是我得到的

    Your system is ready to brew.

  5. 5.已安装的git brew update + brew install git

    6.通过ssh将我的电脑连接到我的git帐户

    7.安装Rbenv

    $ brew update
    $ brew install rbenv
    $ brew install ruby-build
    

    eval "$(rbenv init -)"添加到我的.bash_profile文件

    1. 运行rbenv install -list以查看我可以安装的所有版本,然后运行

      $ rbenv install 1.9.3-p327
      $ rbenv global 1.9.3-p327
      
    2. (我应该重新调整rbenv,但我忘记了)然后我跑了gem install bundler

    3. 然后进入我的一个回购邮件并运行bundle install,其中包含错误

      Gem::InstallError: better_errors requires Ruby version >= 1.9.2.
      An error occurred while installing better_errors (0.7.0), and Bundler cannot continue.
      Make sure that `gem install better_errors -v '0.7.0'` succeeds before bundling.
      
    4. ruby -v并看到它是1.8.7“球” - 我惊呼

      1. 为了解决这个问题,我做了以下rbenv rehash

      2. ruby -v然后自己获得了ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-darwin12.3.0]高五分之一

      3. 然后尝试运行bundle并出现同样的错误?

        $ which bundle
        /usr/bin/bundle
        
        $ which gem
        /Users/fortknokx/.rbenv/shims/gem
        
      4. 所以现在这就是我困惑的地方。正如我所说,这是我使用mac的第三天,我很了解$ PATH,我确信我在某处犯了一个犯规。我愿意接受的任何建议。

        ps这就是我的.bash_profile

        中的内容
        export PATH="/usr/local/bin:/usr/local/bin/sublime:~/bin:$PATH"
        eval "$(rbenv init -)"
        

2 个答案:

答案 0 :(得分:31)

问题似乎是您正在使用系统ruby安装的bundler,而不是使用rbenv ruby​​安装的。

运行ruby --version以确保您的rbenv ruby​​处于活动状态,然后运行gem install bundler,然后运行rbenv rehash,然后尝试重新安装您的宝石,看看是否有效。

答案 1 :(得分:3)

经过多次安装rbenv之后,我也不确定为什么没有使用正确的红宝石。事实证明,在重组的PATH导出之前插入eval语句并且eval安静地失败了。确保PATH在eval语句之上建立。