Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

haml-railsを導入したが、エラーが出てhamlに変換することができない

Q&A

Closed

[解決したいこと]
haml-railsを導入しerbファイルをhamlファイルに変換したい

[実際の作業]
Gemfileに gem 'haml-railsと記入し
ターミナルで

haml-railsをbundle install
rails haml:erb2hamlを実行

bundle installした際に、ログにhaml-railsが出てこなかった。

[結果]
rails aborted!
Don't know how to build task 'haml:erb2haml' (See the list of available tasks
with rails --tasks)
/Users/nakajimanaoki/Desktop/C_74_furima/bin/rails:9:in <top (required)>'
/Users/nakajimanaoki/Desktop/C_74_furima/bin/spring:15:in
'
bin/rails:3:in load'
bin/rails:3:in
'
(See full trace by running task with --trace)
というエラーが出ました。

そこで以下のエラー分について検索してみましたが、自分の例の解決になるような情報が自分の今レベルでは理解することができませんでした。
Don't know how to build task
See the list of available tasks with rails --tasks

開発環境
ruby 2.5.1p57
Rails 5.2.4.3

もし、お力を貸していただける方がいらっしゃいましたら、ありがたいです。
よろしくお願いいたします。

0

2Answer

Haml は使ってないのですが,Ruby 2.7.1 と Rails 5.2.4.2 で同じことをやってみました。
とくに問題なく Erb が Haml に変換されました。何が違うんだろう?

一つ一つ確認してみましょう。
まず,Gemfile には確実に

gem 'haml-rails'

と書かれていますね?

それから Gemfile.lock の中に

    haml-rails (2.0.1)

みたいな行があるはずですが,ありますか?

また,

rails --tasks

とやると,実行可能なタスクの一覧が出ますが,その中に

rails haml:erb2haml                      # Convert html.erb to html.haml each file in app/views

みたいな行があるはずですが,ありますか?

0Like

Comments

  1. @naoki-nakajima

    Questioner

    @scivola
    ご返信ありがとうございます!
    実際に作業までしていただいてありがたいです。一日色々検索して自分では解決できなかったので、諦めてrails newからやり直しました。今は無事導入できています。


    Gemfile には確実にgem 'haml-rails'と書き込んでいました。
    Gemfile.lockにhaml-rails (2.0.1)の記載はなく、おかしいと思ったので、gem listで確認したところインストールはされていました。

    rails --tasksを実行したときに
    rails haml:erb2hamlのような記載はなかったと思います。このような状況でした。

    語学のために教えていただければありがたいのですが、タスク一覧にrails haml:erb2haml のような記載が合った場合、次にどのようにすればいいのでしょうか。もし、お時間があるときにでも回答していただければ幸いです。
    コメントをいただけるなんて思ってもいなかったので、本当にありがとうございます。

タスク一覧に rails haml:erb2haml が出ていたとすると,

Don't know how to build task 'haml:erb2haml' (See the list of available tasks with rails --tasks)

は出ないだろうな,と思っただけです。
というか,このメッセージが出たのであればタスク一覧に rails haml:erb2haml は出ていないはずなので,そのことを確かめようと考えました。

haml-rails について調べたところ,Gemfile に

gem "haml-rails"

が書かれてさえいれば haml:erb2haml タスクが使えるはずなんですけどねえ。

もし bundle install に失敗していたとしても,「そんなタスクは知らん」じゃなくて,「haml-rails がねえよ(Could not find ...)」とか言ってくるはずなので,それも違うだろうし。

うまくいっていなかったときのファイルが残っていれば何か分かったかもしれませんね。

0Like

Comments

  1. @naoki-nakajima

    Questioner

    勉強のためにファイルをとっておけばよかったと思ってます。

    コメントいただいたおかげで、できる限りのことは頑張れたと思います。
    Qiitaの使い方もよく分からないような僕に、わざわざ対応していただき感謝しています。ありがとうございました!

Your answer might help someone💌