2015-06-10 2 views
0

Решено. Посмотрите на мой ответ ниже.

Моя проблема: я просто не могу преобразовать все мои html.erb в haml. Я попробовал жемчужину erb2haml с командой rake haml: replace_erbs, но она не работает. Вот полная ошибка: Невозможно преобразовать html.erb в haml с жемчужиной «erb2haml» на Windows

C:\xampp\htdocs\Ruby>rake haml:replace_erbs --trace 
** Invoke haml:replace_erbs (first_time) 
** Execute haml:replace_erbs 
rake aborted! 
Errno::ENOENT: No such file or directory - which html2haml 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/erb2haml-0.1.5/lib/erb2haml/railties/erb2haml.rake:46:in ``' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/erb2haml-0.1.5/lib/erb2haml/railties/erb2haml.rake:46:in `block (2 levels) i 
n <top (required)>' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.4.2/lib/rake/task.rb:240:in `call' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.4.2/lib/rake/task.rb:240:in `block in execute' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.4.2/lib/rake/task.rb:235:in `each' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.4.2/lib/rake/task.rb:235:in `execute' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.4.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain' 
C:/Ruby193/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.4.2/lib/rake/task.rb:172:in `invoke_with_call_chain' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.4.2/lib/rake/task.rb:165:in `invoke' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.4.2/lib/rake/application.rb:150:in `invoke_task' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.4.2/lib/rake/application.rb:106:in `block (2 levels) in top_level' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.4.2/lib/rake/application.rb:106:in `each' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.4.2/lib/rake/application.rb:106:in `block in top_level' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.4.2/lib/rake/application.rb:115:in `run_with_threads' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.4.2/lib/rake/application.rb:100:in `top_level' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.4.2/lib/rake/application.rb:78:in `block in run' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.4.2/lib/rake/application.rb:176:in `standard_exception_handling' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.4.2/lib/rake/application.rb:75:in `run' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.4.2/bin/rake:33:in `<top (required)>' 
C:/Ruby193/bin/rake:23:in `load' 
C:/Ruby193/bin/rake:23:in `<main>' 
Tasks: TOP => haml:replace_erbs 

Кажется, что камень пытается использовать команду «которая» на моей машине Windows, что бы не имеет смысла, потому что не существует на Windows. Может быть, есть способ заменить linux/mac, «который» команду с командой «где» Windows? Если нет, есть ли другой способ заменить все html.erbs на haml's сразу?

Надеюсь, вы можете мне помочь. Благодарю.

- Moe

ответ

1

Я нашел очень простой и хороший способ. Сначала установите «Haml-рельсы» драгоценный камень, если вы еще не сделали, то просто вставить

rake haml:erb2haml 

в консоли. Он преобразует все виды .erb в .haml. Работает очень быстро и безупречно.

~ Cheers

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