14

所以我刚刚从 ubuntu 切换到 mac,设置环境并不像承诺的那么容易。

这是我遵循的过程。

  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. 然后安装自制软件$ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
  4. 跑了brew doctor,这就是我得到的

    Your system is ready to brew.

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. 然后进入我的一个 repo 并运行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.
    

跑了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
    

所以这就是我现在感到困惑的地方。正如我所说,这是我使用 mac 的第三天,我对理解 $PATH 非常陌生,我确信我在某个地方犯了错误。我愿意接受的任何建议。

ps 这是我的 .bash_profile

export PATH="/usr/local/bin:/usr/local/bin/sublime:~/bin:$PATH"
eval "$(rbenv init -)"
4

2 回答 2

34

问题似乎是您使用的是安装了系统 ruby​​ 的捆绑程序,而不是与您的 rbenv ruby​​ 一起安装的捆绑程序。

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

于 2013-05-03T07:55:01.290 回答
3

在多次安装 rbenv 之后,我也不确定为什么没有使用正确的 ruby​​。原来 eval 语句的插入是在 PATH 的重新组织导出之前插入的,并且 eval 悄悄地失败了。确保 PATH 在 eval 语句之上建立。

于 2014-02-13T17:28:40.157 回答