【问题标题】:Setting up env, OSX rbenv and bundle battle设置 env、OSX rbenv 和 bundle Battle
【发布时间】:2013-04-27 12:44:16
【问题描述】:

所以我刚刚从 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. 然后安装自制软件$ 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 -)"

【问题讨论】:

    标签: ruby macos path bundler rbenv


    【解决方案1】:

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

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

    【讨论】:

    • 相信你的忍者!
    • @luke_randall,赞美你。
    • 请说明如何make sure your rbenv ruby is active。此外,当我尝试运行 gem install bundler 时,我得到:You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
    • @JamesWard 如果您从终端运行which ruby,它将为您提供您正在查找的 ruby​​ 二进制文件的路径。如果它类似于/usr/bin/ruby,则表示您仍在使用系统红宝石。此外,您的权限错误表示同样的事情。您正在尝试在系统范围内安装 gem,这需要 root 访问权限。测试您的 PATH 环境变量(来自终端的echo $PATH)并确保您的路径中有/Users/luke/.rbenv/shims,并且它出现在/usr/bin之前
    • @JohnShelley rbenv global 设置您的默认 Ruby 版本。因此,在没有任何项目特定(或目录特定)设置的情况下,您设置为全局版本的任何内容都将处于活动状态。所以是的,取决于你是在一个目录中使用它,你有一个 Gemfile 或 .ruby-version 文件来指定你想要使用的 Ruby 版本,你可能还需要设置一个全局 Ruby。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-13
      • 1970-01-01
      • 2011-12-19
      • 1970-01-01
      • 2016-07-07
      相关资源
      最近更新 更多