みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

英辞郎をOSX10.9.2にインストール

大変お手数をお掛けしますが、どなたか教えて下さい。

当方、WindowsからMacに乗り換えて2日程度のごく初心者です。Windowsでの仕事環境になるべく近づけるべく、四苦八苦している状況なのですが、一つだけどうしても出来ないことがあります。

英辞郎をOSX10.9.2にインストールすることです。

ウェブで調べると、標準の辞書に組み込むことができるということで、何としてでも実現したいと思い、いろいろなサイトを調べて回りました。

以下のように似たような質問内容もあったので、ひと通り試してみました。
http://okwave.jp/qa/q7828062.html

そして、以下のサイトに書いてある内容も試してみました。
http://www.binword.com/blog/archives/000569.html

しかし、最初の一歩からつまづいています。

ターミナル(というものを使うのも初めてですが)でproject_templatesのフォルダに移動して、以下のコマンドを入力しました。

ruby -Ks ryaku_conv.rb < RYAKU???.TXT > Ryaku.txt

すると、ryaku_conv.rb:1: warning: variable $KCODE is no longer effective; ignoredというメッセージが出て、先に進めません。

超初心者ですので、質問することにも気が引けてしまうのですが、どなたか教えていただけると幸いです。他にどのような情報をこちらでお伝えしたら良いのかもわかりませんので、考慮する上で必要なものがありましたらそちらも教えて下さい。

よろしくお願い致します。

投稿日時 - 2014-05-04 21:01:33

QNo.8581257

困ってます

質問者が選んだベストアンサー

お待たせしました。以下の方法で今のところ動いています。
makeでものすごく時間がかかりますので、最初からやり直した方がガッカリせずに済むように思います。

1) 英辞郎を入手

2) Xcode.app(App Storeから入手)を起動しメニューのXcode->Open Developer Tool->More Developer Tools...を選択。
iTunesと同じID、パスワードでログインできるはずです。
auxiliary_tools_for_xcode...をダウンロード
今の時点ではauxiliary_tools_for_xcode__october_2013.dmgでした。

3) 作業用のフォルダを作成
適当な名前で良いが空白を含まない方が安全。例えば
$ mkdir ~/temp
以下~/tempの場合を説明、行頭の$はプロンプトを示しているので、次の文字から入力すること。

4) コンバートファイルを入手
http://www.binword.com/wp/wp-content/uploads/2007/11/eiji_conv009.zip

5) 作業用のフォルダに2)のDictionary Development Kitフォルダの中身を入れる
次に4)のeiji_conv009の中身を~/temp/project_templatesに中にコピー、同じファイル名は上書き
さらに英辞郎の*.TXTファイルを~/temp/project_templatesに中にコピー

6) Rubyのバージョン1.8.7を使う。インストール方法はANo.7を参考に
$ ruby -v
でバージョンを確認してください。1.8.7はサーポート切れなので、使い終わったらバージョンを戻すことを忘れずに。

7) ~/temp/project_templates/Makefileを修正
DICT_BUILD_TOOL_DIR=“/Developer/Extras/Dictionary Development Kit”

DICT_BUILD_TOOL_DIR="$(HOME)/temp"

"~/temp"では駄目でした。
他のパスの場合は、絶対パスで書く方が

8) ターミナルで以下のように
$ cd ~/temp/project_templates
$ ruby -Ks ryaku_conv.rb < RYAKU???.TXT > Ryaku.txt
$ ruby -Ks cat.rb EIJI-???.TXT Ryaku.txt > Eijiro.txt
$ ruby eiji_conv.rb < Eijiro.txt > MyDictionary.xml
$ make
$ make install
基本的には元の方法です。Ruby 1.8.7でないと修正無しには動きません。
今make実行中。そこまでは正常に動いています。

できた辞書が上書きされてはたいへんなのでコピーをとっておいてください。

9) ~/temp/project_templates/Makefileを修正(以下未確認)
DICT_NAME="英辞郎"

DICT_NAME="和英辞郎"

$ ruby -Ks cat.rb WAEI-???.TXT REIJI???.txt > Waeijiro.txt
$ ruby eiji_conv.rb < Waeijiro.txt > MyDictionary.xml
$ make
$ make install

投稿日時 - 2014-05-06 20:58:09

補足

お世話になります。

ふと思ったことを質問させてください。

回答No.11の最後に、

9) ~/temp/project_templates/Makefileを修正(以下未確認)
DICT_NAME="英辞郎"

DICT_NAME="和英辞郎"


とありますが、こうすると辞書アプリでは別の辞書として認識されますか?できれば、英辞郎という一つの辞書として英和と和英の両方を見られるようにしたいと思っています。

もしも上の方法で別々になってしまうということでしたら、例えば以下、

$ ruby -Ks cat.rb EIJI-???.TXT Ryaku.txt > Eijiro.txt
$ ruby -Ks cat.rb WAEI-???.TXT REIJI???.txt > Waeijiro.txt

のそれぞれで出来たファイルを

$ ruby -Ks cat.rb Eijiro.TXT Waeijiro.txt > Eijiro.txt

とした上で、

$ ruby eiji_conv.rb < Eijiro.txt > MyDictionary.xml
$ make
$ make install

と実行したらどうでしょうか。

そもそもが「英辞郎」と「和英辞郎」と分けてMakeしてもひとつに統合されるということなら問題無いのですが。

お手数をおかけしますが、ご教授いただければ幸いです。

投稿日時 - 2014-05-07 08:20:14

お礼

大変お世話になっております。

ご対応いただき、どうもありがとうございます。

今、Eijiroの方のmakeまで来ましたが、ここで以下のようなメッセージが出ました。

- Building 英辞郎.dictionary.
- Cleaning objects directory.
- Preparing dictionary template.
- Preprocessing dictionary sources.
- Extracting index data.

今までには出てこなかったものです。今度はうまくいきそうな気配がします。もうしばらくしたら再びご連絡いたします。

取り急ぎ、お礼と報告まで。

投稿日時 - 2014-05-07 06:28:39

ANo.11

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(11)

ANo.10

No.9の訂正です。
>もし最初からやられるのでしたら、
>質問欄にある元の方法を試されてはいかがしょうか。

と書いてみたのですが、そのままではうまくいかない所がありそうです。和英辞郎をこれまで作っていなかったのこの際作ってみようと思いますので、明日の夜でも整理して書き込みたいと思います。
今居るところはインターネット環境が悪くて、、、明日の夜は大丈夫だと思いますので、

投稿日時 - 2014-05-06 00:25:22

補足

大変お世話になります。

数々の紆余曲折を経て、ついに英辞郎を辞書アプリにインストールすることが出来ました。大変感激しております。

この次は和英辞郎をインストールして、Rubyのバージョンを元に戻す作業が残っておりますが、おそらく同じように出来るものと思われます。

全くの初心者の私に事細かにかつ迅速にご対応いただき、本当にありがとうございました。心よりの感謝を申し上げます。

投稿日時 - 2014-05-07 19:17:51

お礼

たびたびお世話になります。ありがとうございます。

今朝も色々と試していますが、ruby eiji_conv.rb < Eijiro.txt > MyDictionary.xml; make ; make installの「; make ; make install」を切り離して実行してみました。xmlファイルは正常に作成されているようです。テキストエディタで確認したところ、データは書き込まれていました。

その次に「make」を実行すると、やはり以下の様なエラーメッセージが出ました。

"""~/temp”/bin"/build_dict.sh" "英辞郎" MyDictionary.xml MyDictionary.css MyInfo.plist
/bin/sh: -c: line 0: unexpected EOF while looking for matching `"'
/bin/sh: -c: line 1: syntax error: unexpected end of file
make: *** [all] Error 2

なかなかうまくいかないものです。

夜遅くまで考えていただき、感謝いたします。

投稿日時 - 2014-05-06 08:15:17

ANo.9

No.8の補足欄読みました。
これまでの経過からするとファイルが正常に出来ていない場合が多いようですね。

14. 英辞朗のMyDictionary.xmlを作成し、makeする
ruby eiji_conv.rb < Eijiro.txt > MyDictionary.xml; make ; make install

とありますが、セミコロンは命令が終わったら次の命令に進むという意味ですので
ruby eiji_conv.rb < Eijiro.txt > MyDictionary.xml
make
make install
と分けて実行したらどうなりますか?
MyDictionary.xmlが空っぽだったりするかも知れません。

もし最初からやられるのでしたら、
質問欄にある元の方法を試されてはいかがしょうか。
Ruby1.8.7だと多分そのまま動くと思いますので。

ずいぶん前にサイトを参考にして作った英辞郎を今でも使っています。
いろいろな辞書を一括して引けるので、かなり便利です。

投稿日時 - 2014-05-05 23:39:35

ANo.8

追加ですが、

Ruby 1.8.7の場合はiconvが入っていますので
sudo gem install iconvは無しで、
それと、
require jcode if RUBY_VERSION < '1.9'
と修正していても問題はありませんのでそのままで、

もう一つ
No.1でリンクした
「MacOS10.9で辞書.appに英辞朗をインストールする」
の通りやっていると思いますが、1.8.7でも基本的にはその通りにやってください。

投稿日時 - 2014-05-05 20:43:29

補足

先ほど、うまくいきそうだとのメッセージをお伝えしましたが、気がついたら以下の様なエラーが出て処理がストップしていました。

"""~/temp”/bin"/build_dict.sh" "英辞郎" MyDictionary.xml MyDictionary.css MyInfo.plist
/bin/sh: -c: line 0: unexpected EOF while looking for matching `"'
/bin/sh: -c: line 1: syntax error: unexpected end of file
make: *** [all] Error 2
echo "Installing into ~/Library/Dictionaries".
Installing into ~/Library/Dictionaries.
mkdir -p ~/Library/Dictionaries
ditto --noextattr --norsrc ./objects/"英辞郎".dictionary ~/Library/Dictionaries/"英辞郎".dictionary
ditto: can't get real path for source './objects/英辞郎.dictionary'
make: *** [install] Error 1

明日、再びすべてを最初からやってみようと思います。

投稿日時 - 2014-05-05 22:47:49

お礼

大変お世話になります。

四苦八苦しながらもrubyのバージョンを1.8.7に変更でき、英辞郎のファイルの変換に入りました。実際できているかどうかは現時点ではなんとも言えませんが、今までの動きとは明らかに違います。きっとうまく行っているのだろうと思います。
この変換プロセスにはかなりの時間を要するものと思われますので、また後ほど結果をお知らせいたします。

取り急ぎ、御礼とご報告まで。

投稿日時 - 2014-05-05 22:07:59

ANo.7

ハードディスクの中にいろいろとプログラムが入っていてそれが悪いことをしているのかなと、心配になったのですが、それは無さそうですね。ちょっと不可解なのですが発想を変えてやりましょうか。

もともとRubyの1.8.7を前提として変換ソフトが作られていますので、Rubyそのバージョンにしてやってみましょう。

1) MacPortsをインストルします。No.2に書いているようにMacPortsをインストールしてください。
https://www.macports.org/install.php
このページの
1) Install Xcode and the Xcode Command Line Tools
は既に終わっています。
(10.9の場合はXcode Command Line Toolsは別にはなっていないはずですので Xcodeだけで大丈夫です)
2) Agree to Xcode license in Terminal: sudo xcodebuild -license
ターミナルに
sudo xcodebuild -license
打ち込んでください。これは省略しても問題がなかったように思います。

3) にある
OS X 10.9 Mavericks
をクリックし、ダウンロードされたMacPorts-2.2.1-10.9-Mavericks.pkgをクリックして起動、指示に従う

Installing MacPortsの4にある(Optional) The X11 windowing ~にある
XQuartz Projectをインストールしておけば何かと便利かと思います。

あとはターミナルで
sudo port selfupdate
sudo port -u upgrade outdated

sudo port install ruby
sudo port select ruby ruby18
ここまででrubyの1.8.7がインストールされます。
一旦ターミナルを再起動して
ruby -v
をすると
ruby 1.8.7 (2013-06-27 patchlevel 374) [i686-darwin13]
と表示されるはずです。
これでエラーが出たとこからやっていてください。
これで多分大丈夫だと思います。

sudo port select ruby none
でrubyを元に戻せますので、やり終わったら戻しておいてください。

投稿日時 - 2014-05-05 20:30:22

ANo.6

今インターネットの状態がかなり悪い場所におりまして、No.3のお礼欄と同じようなエラーメッセージが出ました。
もしかしたらインターネットの状態が原因かも知れません。こちらは何度かやれば正常に動きました。

こちらのエラー
sudo gem update
Password:
Updating installed gems
ERROR: While executing gem ... (Gem::RemoteFetcher::UnknownHostError)
no such name (https://api.rubygems.org/specs.4.8.gz)

投稿日時 - 2014-05-05 17:32:18

ANo.5

何か別の問題がありそうです。次のチェックをお願いします。
1) Mac購入した時からOS10.9でしたか?
それとも最初は違っていたのでしょうか?
あるいは中古で購入して分からないとか??

2) 機種を教えてください。
リンゴメニューの「このMacについて」を選び、「詳しい情報..」ボタンを押すと、こちらは
MacBook Air
11-inch, Mid 2011
と表示されます。この二行に相当する部分を教えてください。

3) Xcodeが必要なのですが、バージョンは最新でしょうか?
アプリケーションフォルダの中にXcodeがあるはずですが、バージョンは5.1.1になっていますか?
もし違うようでしたらApp Storeから入手してください。無料です。

最後のがあやしそうに思います。

投稿日時 - 2014-05-05 17:21:03

お礼

どうもありがとうございます。

1) おそらく購入した時から10.9だったものと思われます。昨年12月末頃に新品で購入しましたので、その時点で10.9.2だったはずです。

2) MacBook Pro Retina, 13-inch, Late 2013となっています。

3) Xcodeは2日ほど前にダウンロードしましたので、最新になっています。バージョンを調べたところ、やはり5.1.1(5B1008)でした。

通信状況の良い所でも試してみましたが、同じエラーが出ました。

ちょっと手詰まりでしょうか……

こんなにご協力いただいているのに申し訳ないです。

投稿日時 - 2014-05-05 19:39:38

ANo.4

>http://kaworu.jpn.org/kaworu/2013-01-27-1.php
>に書いてあるやり方でもインストールできますか。
これはだめです。パッケージ管理ソフトは互換性がありません。たまたま命令が同じだったということは無いとは言えませんが、これでは駄目です。

こちらでは問題なかったのですが、取りあえず
sudo gem update
のあとに
sudo gem install iconv
としてください。
これでも駄目でしたら
ruby -v

which ruby
が以下のようになっているか確認してください。
ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13]

/usr/bin/ruby
になっているはずですが、

いろいろ他に手が有りますので、駄目でしたら書き込んでください。

投稿日時 - 2014-05-05 16:17:25

お礼

再びありがとうございます。

やってみました。アップデートの方は以下のメッセージが出ました。

Updating installed gems
Updating CFPropertyList
ERROR: While executing gem ... (Gem::SpecificGemNotFoundException)
Could not find a valid gem 'CFPropertyList' (= 2.2.7) locally or in a repository

バージョンは以下のようなメッセージが出てきまして、上で書いてくださっているものと同じになっています。

ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13]

/usr/bin/rubyというものはよくわかりません。

お手数をおかけし、ひたすら恐縮です。

投稿日時 - 2014-05-05 16:46:53

ANo.3

>`require': cannot load such file -- iconv (LoadError)
これもRubyが2.0になったのが原因ですね。
iconvが標準添付ライブラリから無くなってしまったようです。

sudo gem install iconv
でiconvをインストールした後、エラーがでたところ(eiji_conv.rb)から実行してください。

投稿日時 - 2014-05-05 09:51:01

お礼

本当に何度もすみません。

sudo gem install iconv

を入力したところ
、今度は以下の様なエラーメッセージが出ました。

ERROR: Could not find a valid gem 'iconv' (>= 0), here is why:
Unable to download data from https://rubygems.org/ - no such name (https://rubygems.org/latest_specs.4.8.gz)

インターネットには接続できているはずですので、アクセスの部分で問題はないはずだと思います。なんとか他の方法でインストール出来ないかと色々と調べてみましたが、ちょっと自信がないので確認をさせてください。

http://kaworu.jpn.org/kaworu/2013-01-27-1.php

に書いてあるやり方でもインストールできますか。

ご協力に本当に感謝しております。

投稿日時 - 2014-05-05 14:11:11

ANo.2

>Eijiro_u.txtという名前のファイルができますが、中にはなんの情報も入っていません
要するにnkfのコマンドが使えないのが原因です。

nkfをインストールしても良いのですが、文字コードを変換できるテキストエディタを用いる方法を紹介します。
私自身はCotEditorを使っています。
http://coteditor.github.io

Eijiro.txtをCotEditorで開いて、エンコーディングをUTF-8に変換(ツールバーにあるエンコーディングをUTF-8に変え)、出たダイアログの「変換」ボタンを押す。その後に、Eijiro_u.txtのファイル名で保存してください。
Waeijiro.txtも同様です。

おまけですが、nkfのインストール方法を紹介しておきます。
パッケージ管理ソフトを使うのが簡単です。何種類かありますが、私自身はMacPortsを使っています。
https://www.macports.org

説明にそってインストール後、ターミナルで
sudo port selfupdate
sudo port -u upgrade outdated

sudo port install nkf
でインストールできます。他のUNIX系ソフトが簡単にインストールできますので、余裕があれば挑戦してみてください。

投稿日時 - 2014-05-05 07:04:01

お礼

丁寧にありがとうございます。

早速試してみましたが、うまくいきました。嬉しいです。

しかし、最後の「make」のコマンドがうまく行きません。もう一歩という感覚はあるのですが……

今一度、お力をお貸しください。

eiji_conv.rb:5: warning: variable $KCODE is no longer effective; ignored
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- iconv (LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from eiji_conv.rb:6:in `<main>'
"""~/temp”/bin"/build_dict.sh" "英辞郎" MyDictionary.xml MyDictionary.css MyInfo.plist
/bin/sh: -c: line 0: unexpected EOF while looking for matching `"'
/bin/sh: -c: line 1: syntax error: unexpected end of file
make: *** [all] Error 2
echo "Installing into ~/Library/Dictionaries".
Installing into ~/Library/Dictionaries.
mkdir -p ~/Library/Dictionaries
ditto --noextattr --norsrc ./objects/"英辞郎".dictionary ~/Library/Dictionaries/"英辞郎".dictionary
ditto: can't get real path for source './objects/英辞郎.dictionary'
make: *** [install] Error 1

投稿日時 - 2014-05-05 08:29:17

ANo.1

10.9になってから標準添付されているRubyが2.0になりました。それに伴うエラーです。

こちらのサイトを参考にしてみてください。
http://www.design.kyushu-u.ac.jp/~hito/index.php?MacOS10.9%A4%C7%BC%AD%BD%F1.app%A4%CB%B1%D1%BC%AD%CF%AF%A4%F2%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB%A4%B9%A4%EB

投稿日時 - 2014-05-04 21:16:54

お礼

早速のご回答ありがとうございます。ほんとうに助かります。

ひと通りなぞりながらやってみました。しかし以下の様な結果となりました。(長文で申し訳ありません)

ruby -Ks ryaku_conv.rb < RYAKU???.TXT > Ryaku.txt
ryaku_conv.rb:1: warning: variable $KCODE is no longer effective; ignored

ruby -Ks cat.rb EIJI-???.TXT Ryaku.txt > Eijiro.txt
cat.rb:1: warning: variable $KCODE is no longer effective; ignored

エラーは出ながらも、Eijiro.txtというファイルは作成されています。作成されたファイルのFinder上のアイコンから察するに、きちんとデータも収納されているようです。しかし、ここですでにUTF-8形式のファイルに変換されているようで、このファイルを開こうとすると、「テキストエンコーディングUnicode(UTF-8)には対応していません、というエラーメッセージが出て開くことができません。

ruby -Ks cat.rb WAEI-???.TXT REIJI???.txt > Waeijiro.txt
cat.rb:1: warning: variable $KCODE is no longer effective; ignored

こちらも上と同じです。Waeijiro.txtのファイルはできていて、データも収納されているようです。

nkf -w Eijiro.txt > Eijiro_u.txt
-bash: nkf: command not found
mv Eijiro.txt __Eijiro.txt
mv Eijiro_u.txt Eijiro.txt

Eijiro_u.txtという名前のファイルができますが、中にはなんの情報も入っていません。__Eijiro.txtにはデータは入っていますが、Eijiro_u.txtをEijiro.txtに変換した時にはEijiro.txtにはデータはありません。

nkf -w Waeijiro.txt > Waeijiro_u.txt
-bash: nkf: command not found
mv Waeijiro.txt _Waeijiro.txt
mv Waeijiro_u.txt Waeijiro.txt

こちらも上と同様です。

ruby eiji_conv.rb < Eijiro.txt > MyDictionary.xml; make ; make install

これを入力すると、以下の様なメッセージが出て、何も起きなくなります。

eiji_conv.rb:5: warning: variable $KCODE is no longer effective; ignored
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- iconv (LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from eiji_conv.rb:6:in `<main>'
"""~/temp”/bin"/build_dict.sh" "英辞郎" MyDictionary.xml MyDictionary.css MyInfo.plist
/bin/sh: -c: line 0: unexpected EOF while looking for matching `"'
/bin/sh: -c: line 1: syntax error: unexpected end of file
make: *** [all] Error 2
echo "Installing into ~/Library/Dictionaries".
Installing into ~/Library/Dictionaries.
mkdir -p ~/Library/Dictionaries
ditto --noextattr --norsrc ./objects/"英辞郎".dictionary ~/Library/Dictionaries/"英辞郎".dictionary
ditto: can't get real path for source './objects/英辞郎.dictionary'
make: *** [install] Error 1

こうなると、何がなんだかわかりません。一体、何が問題なのでしょうか。

お手数をおかけして恐縮です。

投稿日時 - 2014-05-05 06:19:30

あなたにオススメの質問