質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

RubyGems

RubyGemsはRubyによるプログラミングのためのパッケージマネジメントツールです。ユーザはこれを使用することで、Rubyライブラリのダウンロードやアップデートや、依存関係の自動解決が可能になります。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

0回答

572閲覧

「failed to load encoding」エラーによりgemコマンド,rakeコマンド等がうまく動かなくなる

gogoteanonsuger

総合スコア4

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

RubyGems

RubyGemsはRubyによるプログラミングのためのパッケージマネジメントツールです。ユーザはこれを使用することで、Rubyライブラリのダウンロードやアップデートや、依存関係の自動解決が可能になります。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

0クリップ

投稿2017/11/22 02:46

お世話にになっております。
掲題の問題を解決したく、質問させていただきました。

###発生している問題・エラーメッセージ

業務でruby2.3.0を使用しております。
とあるgemをインストールしようとgemを実行しましたが、以下のようにエラーが発生し、失敗してしまいました。

↓bundlerで実施した例。他のgemでも同じようにエラーが出ます。

gem install bundler /Users/username/.rbenv/versions/2.3.0/lib/ruby/2.3.0/psych.rb:377: warning: failed to load encoding (UTF-16BE); use ASCII-8BIT instead ERROR: Loading command: install (LoadError) failed to load encoding (Windows-31J) ERROR: While executing gem ... (NoMethodError) undefined method `invoke_with_build_args' for nil:NilClass

その後、gem uninstall gem list gem searchなどのコマンドを実行しましたが、全て上記のような状態になってしまいました。

また、rakeタスク(railsからunicorn起動)を実行した時も同じエラーが出ましたが、こちらは表示される文字コードが異なっています。

bundle exec rake unicorn:start /Users/username/.rbenv/versions/2.3.0/lib/ruby/2.3.0/x86_64-darwin15/json/ext/parser.bundle: warning: failed to load encoding (utf-16be); use ASCII-8BIT instead /Users/username/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/sass-3.5.1/lib/sass/util.rb:712: warning: failed to load encoding (UTF-16BE); use ASCII-8BIT instead rake aborted! Bundler::GemRequireError: There was an error while trying to load the gem 'sass-rails'. Gem Load Error is: code converter not found (UTF-8 to ASCII-8BIT)

###該当のソースコード

↑のunicornを起動するスクリプトを参考情報として以下に記載します。以下記事から拝借したものです。

https://qiita.com/Salinger/items/5350b23f8b4e0dcdbe23#unicorn-%E3%81%AE%E8%A8%AD%E5%AE%9A

ruby

1worker_processes Integer(ENV["WEB_CONCURRENCY"] || 3) 2timeout 15 3preload_app true 4 5listen '/tmp/unicorn.sock' 6pid '/tmp/unicorn.pid' 7 8before_fork do |server, worker| 9 Signal.trap 'TERM' do 10 puts 'Unicorn master intercepting TERM and sending myself QUIT instead' 11 Process.kill 'QUIT', Process.pid 12 end 13 14 defined?(ActiveRecord::Base) and 15 ActiveRecord::Base.connection.disconnect! 16end 17 18after_fork do |server, worker| 19 Signal.trap 'TERM' do 20 puts 'Unicorn worker intercepting TERM and doing nothing. Wait for master to send QUIT' 21 end 22 23 defined?(ActiveRecord::Base) and 24 ActiveRecord::Base.establish_connection 25end 26 27stderr_path File.expand_path('log/unicorn.log', ENV['RAILS_ROOT']) 28stdout_path File.expand_path('log/unicorn.log', ENV['RAILS_ROOT'])

###試したこと

  • エラーメッセージで検索しましたが、有力な情報にはたどり着けませんでした。

色々調べた結果、下記が自分の症状に1番類似している状態でしたが、解答者が提示されているruby-enc-extraが見つからない状態です。

https://github.com/openwrt/packages/issues/3454

  • 試しにrubyバージョンを2.4.0に変更し、上記コマンドを実行した結果は以下のようになりました。2.3.0のときとは差異がありました。(ただ、業務で使用する2.3.0でエラーを解消する方向で対応したいです。)
gem list bundler ERROR: Loading command: list (LoadError) cannot load such file -- io/wait ERROR: While executing gem ... (NoMethodError) undefined method `invoke_with_build_args' for nil:NilClass

###補足情報(言語/FW/ツール等のバージョンなど)
各バージョンは以下の通りとなります。gemのバージョン確認時は上記エラーが表示されながらバージョン名が出力されました。

ruby -v ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15] rails -v Rails 4.2.9 rbenv --version rbenv 1.1.1 gem -v /Users/username/.rbenv/versions/2.3.0/lib/ruby/2.3.0/psych.rb:377: warning: failed to load encoding (UTF-16BE); use ASCII-8BIT instead 2.6.13 # MacOSはSierra、シェルの使用言語は`ja_JP.UTF-8`です。 sw_vers ProductName: Mac OS X ProductVersion: 10.11.6 BuildVersion: 15G17023 env | grep LANG LANG=ja_JP.UTF-8

また、rubyの文字コードはUTF-8でなんらか変更はしていないです。

irb irb(main):001:0> s="あいうえお" => "あいうえお" irb(main):002:0> p s.encoding #<Encoding:UTF-8> => #<Encoding:UTF-8>

色々調べてもなかなか有力な情報が出てこず、こちらで質問させていただきました。
ぜひお力をお貸しいただけますでしょうか。何卒よろしくお願い致します。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問