Ошибка Rails 3.1, связанная с posix_spawnp при использовании гема и красной ковры Альбино - PullRequest
1 голос
/ 17 августа 2011

Я следил за эпизодом Railscasts о добавлении подсветки кода в приложение, используя Redcarpet, Albino и Pygments. Работает как положено в разработке. Однако на моем тестовом рабочем сервере я получаю следующую ошибку:

ActionView::Template::Error (No such file or directory - posix_spawnp):
13:         <div class="small_meta">
14:             Posted on <%= @article.created_at %> by <%= @article.user.full_name %>. Topics: <%= @article.topic_list %>
15:         </div>
16:         <%= markdown(@article.body) %>
17:     </div>
18: 
19: <% else %>
app/helpers/application_helper.rb:19:in `block in syntax_highlighter'
app/helpers/application_helper.rb:18:in `syntax_highlighter'
app/helpers/application_helper.rb:13:in `markdown'
app/views/home/index.html.erb:16:in `_app_views_home_index_html_erb___3638324493742336500_70112578553660'

Ошибка поступила от помощника markdown() в строке 16. Код помощника:

def markdown(text)
  options = [:hard_wrap, :filter_html, :autolink, :no_intraemphasis, :fenced_code, :gh_blockcode]
  syntax_highlighter(Redcarpet.new(text, *options).to_html).html_safe
end

def syntax_highlighter(html)
    doc = Nokogiri::HTML(html)
    doc.search("//pre[@lang]").each do |pre|
      pre.replace Albino.colorize(pre.text.rstrip, pre[:lang])
    end
    doc.to_s
end

Проблема от звонка в Альбино. Я в растерянности относительно того, как решить эту проблему. Похоже, что Albino не может вызвать процесс pygmentize. Когда я запускаю which pygmentize в Terminal.app, я вижу /usr/local/bin/pygmentize. /usr/local/bin появляется в моих путях, когда я запускаю echo $PATH. Производственный тестовый сервер - Apache / Phusion Passenger на сервере OS X 10.7.

Что здесь происходит и как я могу исправить ошибку posix_spawnp?

1 Ответ

2 голосов
/ 15 сентября 2011

Я получил ту же ошибку и исправил ее, установив pygmentize.Убедитесь, что вы установили pygmentize в правильный интерпретатор Python.Я использую OS X 10.7 и у меня есть 4 разных интерпретатора Python!Вы можете узнать, какой Python вы активно используете, набрав

python --version

Также проверьте разрешения на чтение / запись для всех соответствующих каталогов, например, '/Library/Python/2.7/site-packages«

...