🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

3回答

359閲覧

rails consoleができません。教えてください。お願いします。

tori315

総合スコア21

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2019/12/11 12:28

rails consoleを実行しようとすると、
Loading development environment (Rails 5.2.4)
Traceback (most recent call last):
28: from bin/rails:4:in <main>' 27: from bin/rails:4:in require'
26: from C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/railties-5.2.4/lib/rails/commands.rb:18:in <top (required)>' 25: from C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/railties-5.2.4/lib/rails/command.rb:46:in invoke'
24: from C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/railties-5.2.4/lib/rails/command/base.rb:69:in perform' 23: from C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/thor-0.20.3/lib/thor.rb:387:in dispatch'
22: from C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:in invoke_command' 21: from C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/thor-0.20.3/lib/thor/command.rb:27:in run'
20: from C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/railties-5.2.4/lib/rails/commands/console/console_command.rb:96:in perform' 19: from C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/railties-5.2.4/lib/rails/commands/console/console_command.rb:19:in start'
18: from C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/railties-5.2.4/lib/rails/commands/console/console_command.rb:64:in start' 17: from C:/Ruby26-x64/lib/ruby/2.6.0/irb.rb:381:in start'
16: from C:/Ruby26-x64/lib/ruby/2.6.0/irb.rb:381:in new' 15: from C:/Ruby26-x64/lib/ruby/2.6.0/irb.rb:410:in initialize'
14: from C:/Ruby26-x64/lib/ruby/2.6.0/irb.rb:410:in new' 13: from C:/Ruby26-x64/lib/ruby/2.6.0/irb/context.rb:92:in initialize'
12: from C:/Ruby26-x64/lib/ruby/2.6.0/irb/ext/save-history.rb:45:in save_history=' 11: from C:/Ruby26-x64/lib/ruby/2.6.0/irb/ext/save-history.rb:21:in init_save_history'
10: from C:/Ruby26-x64/lib/ruby/2.6.0/irb/ext/save-history.rb:21:in extend' 9: from C:/Ruby26-x64/lib/ruby/2.6.0/irb/ext/save-history.rb:65:in extended'
8: from C:/Ruby26-x64/lib/ruby/2.6.0/irb/ext/save-history.rb:75:in load_history' 7: from C:/Ruby26-x64/lib/ruby/2.6.0/irb/ext/save-history.rb:75:in open'
6: from C:/Ruby26-x64/lib/ruby/2.6.0/irb/ext/save-history.rb:76:in block in load_history' 5: from C:/Ruby26-x64/lib/ruby/2.6.0/irb/ext/save-history.rb:76:in each'
4: from C:/Ruby26-x64/lib/ruby/2.6.0/irb/ext/save-history.rb:76:in block (2 levels) in load_history' 3: from C:/Ruby26-x64/lib/ruby/site_ruby/readline.rb:368:in <<'
2: from C:/Ruby26-x64/lib/ruby/site_ruby/rbreadline.rb:6168:in add_history' 1: from C:/Ruby26-x64/lib/ruby/site_ruby/rbreadline.rb:6135:in alloc_history_entry'
C:/Ruby26-x64/lib/ruby/site_ruby/rbreadline.rb:6135:in `delete': invalid byte sequence in UTF-8 (ArgumentError)

というエラーがでます。

これは、該当のC:/Ruby26-x64/lib/ruby/site_ruby/rbreadline.rb:6135:in にある、?を消してしまえばよいということなのでしょうか?他に回避する手段があるのでしょうか?
初歩的な質問ですいません。知恵を貸してください。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

rails s ができるということなので、ハズレかもしれませんが、気になる1行があります。
一番下
C:/Ruby26-x64/lib/ruby/site_ruby/rbreadline.rb:6135:in `delete': invalid byte sequence in UTF-8 (ArgumentError)
(Rails はUTF-8文字列を期待しているのに)、そうではない文字が混じっている
と言っています。
pathからみて自作ではなくinstallで取り込んだものかと思いますが。。。
.irb_historyに問題がなかったら、この行にどういう文字列があるか確認してみるのがとりあえず必要かと。

蛇足
file名からして、Ruby Read Line の実装かと思います。consoleでの入力をサポートするものと推察。なので、server起動では使わないため通った、と推定できます。

投稿2019/12/12 13:43

winterboum

総合スコア23567

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tori315

2019/12/13 14:49

ありがとうございます。 ?があっあのでこれだと思うのですが、そこからどうしたら良いのか分かりません。消しても問題ないのでしょうか。 よければ教えてください。よろしくお願いします。
winterboum

2019/12/13 21:35

消したいという行を含むmethodを見せて下さい
tori315

2019/12/15 01:32

回答ありがとうございます。 def alloc_history_entry(string, ts) temp = Struct.new(:line,:data,:timestamp).new temp.line = string ? string.delete(0.chr) : string temp.data = nil temp.timestamp = ts return temp end にinvalid byte sequence in UTF-8 (ArgumentError)がでます。
winterboum

2019/12/15 02:27

この ? は 三項演算子の ? なので、ここのmethod自体に問題はないですね。 消さないほうが良いです。 suamaさんの言われる ~/.irb_history が原因でしょうね
guest

0

別のタグやウィンドウでコンソールをすでに開いてはいませんか?
もし開いていない場合は再起動をオススメします☺︎

投稿2019/12/11 12:40

TakuF

総合スコア41

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tori315

2019/12/11 12:50

回答ありがとうございます。 記したエラーは関係ないということなのでしょか。 すいません。まだ一度もconsoleを実行できたことがないんです。
TakuF

2019/12/11 13:05

?を消せばいいとおっしゃってますがどこの部分かが分かりません…力になれず申し訳ない。 参考になりそうな物を貼っておきます。 http://yoshuuuuki.hatenablog.com/entry/2013/06/04/221904 ?と記述している部分があるのであれば全角になっていないかとかですかね?知識不足のためgiveupです。
tori315

2019/12/11 13:58

ありがとうございます。申し訳ありません。消しても大丈夫そうなら、消して動かしてみます。
TakuF

2019/12/11 15:16

ファイトです!
guest

0

こんばんは。
rails s (railsの起動) は出来て、rails consoleで失敗する感じでしょうか?

もしかしたら、こちらの症状に近いかな?と思いました。

https://github.com/ConnorAtherton/rb-readline/issues/139
https://qiita.com/KoyaChan/items/d0d5e7bcccf4410d85f6

.irb_history というファイルがどこかに出来ていませんか?
ホームディレクトリの直下など。
こちらに日本語の文字が入っていたりするとダメなようです。

投稿2019/12/11 13:41

suama

総合スコア1997

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tori315

2019/12/11 13:56

ありがとうございます。 rails sはできます! 該当箇所の?は消しても大丈夫なのか不安で消さずにいました。 消しても大丈夫そうなら、消してやってみます!
suama

2019/12/11 23:56

rbreadline.rb はいじらない方がいいと思います。 いったんは、.irb_history というファイルを確認してみてくださいね。
tori315

2019/12/14 13:59

ありがとうございます。見てみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問