2013-12-09 5 views
8

Я просмотрел десятки сообщений об этом и до сих пор не могу понять это/не нашел идентичной ситуации. В принципе, у меня есть RVM с установленным по умолчанию Руби 2.0.0, но когда я перейдите в каталог с моей страницы Джекил и запуститьJekyll по умолчанию использует версию Ruby вместо версии RVM

jekyll serve 

результат

/Library/Ruby/Site/1.8/rubygems/dependency.rb:298:in `to_specs': Could not find 'jekyll' (>= 0) among 5 total gem(s) (Gem::LoadError) 
from /Library/Ruby/Site/1.8/rubygems/dependency.rb:309:in `to_spec' 
from /Library/Ruby/Site/1.8/rubygems/core_ext/kernel_gem.rb:47:in `gem' 
from /usr/bin/jekyll:22 

, хотя в то же самое каталог, когда я бегу

ruby -v 

результат

ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-darwin12.5.0] 

Если я бегу

rvm use [email protected] 

, а затем запустить

jekyll serve 

он работает как шарм.

Я пробовал использовать файлы .rvmrc и .ruby-version в корне, и в обоих случаях, когда я cd в каталог ничего не указывает, что они распознаются.

ответ

13

Ваша система рубин установлена ​​Джекил, поэтому он говорит трассировки стека

# from /usr/bin/jekyll:22 

Причина это вызывает, что двоичная до вашего обновленного Джекил, вероятно, связано с порядком в вашем $ PATH так, чтобы решить эту проблему; один вариант - удалить старый двоичный код jekyll:

$ which jekyll #=> /usr/bin/jekyll 
$ sudo rm `which jekyll` 

Этого должно быть достаточно. Попробуйте еще раз.

Кроме того, учитывая, что драгоценный камень, вероятно, был установлен вместе с этой двоичной попыткой удалить старую версию gem.

$ rvm use system 
$ ruby -v #=> ruby 1.8.7 

$ gem uninstall jekyll # add sudo if you get a permission error 
+2

Красивые, отлично работающие. Мне просто пришлось переустановить Jekyll в версии 2.0.0 с помощью gem install jekyll, убедившись, что я сделал «rvm use 2.0.0 --default», поскольку я забыл, что в первый раз, когда я установил его, это было с sudo в система Ruby версии (1.8). Благодаря тонну! – tylcole

Смежные вопросы