如何在Mac OS X上将PATH指向新版本的ruby以连接Octopress

时间:2013-08-24 04:20:26

标签: ruby path rbenv

我使用的是Mac OS(10.8.4),因此安装了ruby的系统版本(1.8.7)。我知道我无法删除它,因为它是我的系统所必需的。但是,我有兴趣通过Octopress在GitHub上建立一个Jekyll博客:http://octopress.org。它需要ruby版本1.9.3,所以我通过

添加它
rbenv install 1.9.3-p385

它似乎有效(几个小时后才意识到我必须通过macports卸载和旧版本的葡萄酒)。但是,当我跑

localhost:~ Dan$ ruby -v

我得到了

ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-darwin12.4.0]

我曾经得到

ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]

然后我跑

git clone git://github.com/imathis/octopress.git octopress
localhost:~ Dan$ cd octopress

并获取

ruby-1.9.3-p448 is not installed.
To install do: 'rvm install ruby-1.9.3-p448'

我正在使用rbenv而不是rvm(但如果它有所作为愿意切换)。现在我跑:

localhost:octopress Dan$ env CC=gcc rbenv install 1.9.3-p448
Downloading yaml-0.1.4.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/36c852831d02cf90508c29852361d01b
Installing yaml-0.1.4...
Installed yaml-0.1.4 to /Users/Dan/.rbenv/versions/1.9.3-p448

Downloading ruby-1.9.3-p448.tar.gz...
-> ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p448.tar.gz
Installing ruby-1.9.3-p448...
Installed ruby-1.9.3-p448 to /Users/Dan/.rbenv/versions/1.9.3-p448

然后

localhost:octopress Dan$ ruby --version
rbenv: version `1.9.3' is not installed

运行

which ruby
/Users/Dan/.rbenv/shims/ruby

我不确定我的PATH(echo $ PATH)

是否有问题
/Users/Dan/Library/Enthought/Canopy_64bit/User/bin:/opt/local/bin:/opt/local/sbin:/Library/Frameworks/Python.framework/Versions/Current/bin:/Users/Dan/.rbenv/shims:/Users/Dan/.rbenv/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/texbin:/Users/Dan/scripts:/usr/local/mysql/bin:/Users/Dan/.rvm/bin

任何人都知道如何让Octopress正常工作并正确连接到相应版本的Ruby?

2 个答案:

答案 0 :(得分:2)

出于某种原因

rbenv global 1.9.3-p448

无法在octopress文件夹中设置我的ruby默认值,但是当我运行本地

rbenv local 1.9.3-p448
一切顺利。

答案 1 :(得分:2)

尝试运行rbenv version。它应该告诉您当前版本的设置位置,以及全局命令可能无法正常工作的原因。您始终可以在项目文件夹中创建一个.ruby-version文件,其中包含该项目所需的版本号。这有助于处理具有不同ruby版本的多个项目。