• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Aptana Studioの複数ファイルの扱い2)

Aptana Studio 3での複数ファイルの扱いについて

このQ&Aのポイント
  • Aptana Studio 3を使用して複数のファイルを扱う際に、'require'コマンドを使用するとエラーが発生する問題があります。
  • この問題は、Rubyのパースペクティブが使える前の段階でファイルを作成した場合に発生することがあります。
  • 解決策の一つとして、プロジェクト作成時にRubyのパースペクティブを表示するように設定することが挙げられます。

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

  • ベストアンサー
  • siffon9
  • ベストアンサー率64% (136/211)
回答No.6

No.4の御礼に書かれたエラーをみて思いついたことがあり試してみたところ、同じエラーを発生させることができました。 もしかして、Windowsのユーザー名に日本語を使用していらっしゃいますか? Windowsの一時作業用フォルダは、環境変数TEMPまたはTMPで指定されています。 こちらのデフォルトは、%USERPROFILE%\AppData\Local\Tempでした。 %USERPROFILE%の部分が、C:\Users\○○に置き換えられます。 そこで環境変数TEMPまたはTMPの値を、C:\山田太郎\Tempに変更してAptanaを起動させてみたところエラーが再現されました。 おそらくAptana StudioかRuby(Ruby Insutaler版)のどこかでパスに日本語(の特定の文字?)が含まれると正常にパスが認識できないのではないかと推測します。 テスト用に C:\Test\Temp フォルダを作成して、環境変数TEMPとTMPをこちらのパスに書き換えて試してみてください。

tmiyoshi
質問者

補足

Windowsの名前は日本語にしています。 上記のように環境変数を設定しなおして、動くようになりました。 C:\Test\Tempの下に同じようなファイルが作られています。 ご指摘のように、これが原因だと思われます。 ただ、これから実際に使っていく場合に、TEMPとTMPのパスを元に戻しておかなくて大丈夫なのでしょうか? (Windowsの使い方は、あまり詳しくないので。) ここだけの修正なら、どういった方法が一番よいのでしょうか?

その他の回答 (7)

  • siffon9
  • ベストアンサー率64% (136/211)
回答No.8

こんにちは > Ruby関連よく知ってられるようなので、今後の参考に2点ほど教えてください。 私はただの趣味プログラマで、かつ、Railsも使用したことがないのでご質問に回答できるだけの情報を持ち合わせておりません。 Aptana Studioの存在も今回のご質問を拝見して初めて知ったくらいですので。。。 このご質問は、新規の質問として投稿された方がよろしいかと思います。 お力になれず申し訳ありません。

  • siffon9
  • ベストアンサー率64% (136/211)
回答No.7

原因が判明してスッキリしましたw > これから実際に使っていく場合に、TEMPとTMPのパスを元に戻しておかなくて大丈夫なのでしょうか? 特に問題はないと思います。 一時作業用フォルダの場所が変わるだけですので。 どうしても気になるというのであれば、プログラム開発用の別アカウント(当然半角英字のもの)を作成して、そちらで環境構築をするしかないと思います。

tmiyoshi
質問者

お礼

長い間ご協力くださり、誠にありがとうどざいました。 教えていただけなければこのバグは取れなかったと思います。 それで本当に恐縮なのですが、Ruby関連よく知ってられるようなので、今後の参考に2点ほど教えてください。 (1)現場で実際RubyをRailsなどのフレームワークまで含めて使ってられる方で、一番つかわれて    いるIDEは何になるいのでしょうか?私はこれからAptanaを使っていこうと思っているのですが、    他にお勧めのものってありますか? (2)上記に関連して、今のEclipseにRails用にRadRails2もPulig-inして使ってみようかと    思っているのですが、http://www.aptana.com/products/radrails/download.html で、Eclipse Plug-in Versionにしてダウンロードボタンを押してもページが表示されない    ようなのですが、プラグインが置いてあるURLの場所とかご存知ですか?また一応、Aptana Studio 3にもRailsも入っているようなのですが、違いがよくわかりません。Railsを使った    本格的なアプリを作るにはRadRails2もプラグインして使った方がいいのでしょうか? ほんとうにありがとうございました。

  • siffon9
  • ベストアンサー率64% (136/211)
回答No.5

Tempフォルダを確認しつつAptana Studioを起動させてみました。 C:\Users\○○\AppData\Local\Temp\dltk数字.tmp\scripts\sync.rb はこちらの環境でも作成されておりました。 ・Rubyのプロジェクトでファイルを実行すると作成される。 ・ソースを書き換えて保存して、実行すると更に別のdltk数字.tmpフォルダが作成される。 ・Aptana Studioを終了すると全てのdltk数字.tmpフォルダが削除される。 ・sync.rbの内容は以下の2行   STDOUT.sync=true   STDERR.sync=true ・Aptana Stidoo上で   p $LOADED_FEATURES  を実行させたところ、このsync.rbがロードされていることが確認できた。 というこで、Aptana Studioの環境で作成、利用されているようです。 だとすると、ロードエラーがでるのが全く謎ですね。 パーミッションの問題かの確認の為に、Aptana Studioを管理者権限で起動させたらどうなりますか? Aptana Studioのアイコンを右クリックでメニューがでると思います。

tmiyoshi
質問者

補足

わざわざ、確認くださってどうもありがとうございます。 管理者の権限でやっても同じです。 今、前に書いたようにKeplerのEclipse(Pleiades)にAptanaをプラグインして使っています。 立ち上げ時、bundleなどのエラーは一切吐かなくなりました。 Rubyをスクリプトとして動かした場合に、 Rubyのライブラリを動的に読んでくるときに何故かエラーになってしまいます。 RubyのライブラリをRuby21、Ruby21(x86)に設定すると今のエラーになります。 Ruby19や20では、前に書いた`require': "\xEF\xBF" from Windows-31J to UTF-8 (Encoding::UndefinedConversionError)のエラーになるようです。 Rubyはインストーラのものを入れています。 Rubyの動的ツールは現在、Gitが勝手に引っ張ってくる5.0.0のものを入れています。 何かヴァージョンとの相性のようなものでもあるのですかね? 今の所、対処のしようが見つかりません。

  • siffon9
  • ベストアンサー率64% (136/211)
回答No.4

こんにちは ご質問のありました内容に回答いたします。 > 1)上記の1.はWindowsにJavaとGitを何もインストールしていなかったら、Aptanaインストール 時にそれらが自動で行われるということですか? はい、そのとおりです。 > 2)msysgitを最後まできちんと設定すれば現在コンソールにたくさん出ているbundleのエラーは 出なくなるのでしょうか?そしたらRubyのスクリプトも動くようなな気がしますが。 最後まできちんと設定というのがよくわかりません。 こちらでは、Gitをインストールします、良いですか?のような画面が出て、実行ボタンをクリックしただけです。Git関係の設定は何もしていません。 >(3)AptanaにRailsの環境も入れられていますか?(bundle関連のエラーが出ているようなので) いいえ、Rails環境はいれておりません。 AptanaStudioを起動していて気がついたのですが、ワークスペース選択をしてAptanaStudioが全画面で表示されたときにウィンドウの右下枠部分に  Loading Bundle C:\~~ という表示がちらちらと瞬間的に表示されます、全文が表示されないので詳細は不明ですが、やはり起動時になにか処理が行われている様です。 ひとつ気になったのですが > Javaの環境はEclipseを以前からずっと使っているので設定できていると思います。 aptanaのダウンロードの際に、私はStandalone Versionを使用しましたが。もしEclipseを入れられているのであればEclipse Plug-in Versionを使用するのではないでしょうか?

tmiyoshi
質問者

お礼

調べてみると上記のエラーは、EclipseにLunaを使った場合出るようです。(今までいっぱいbundleのエラーを吐いていたのもそのせいみたいです。)Eclipseをひとつ前のKeplerに変えたら、上記エラーはでなくなりました。今は立ち上げ時、bundleなどのエラーはひとつも出ません。 しかし、それでも C:/Ruby21/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- C:\Users\�O�j\AppData\Local\Temp\dltk4293.tmp\scripts\sync.rb (LoadError) from C:/Ruby21/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' のエラーが発生してしまいます。このエラーはいったい何なんでしょうね? 私のディスクのどこかが壊れたりしているのでしょうか? 不思議です

tmiyoshi
質問者

補足

Eclipseのプラグインでやってみました。 バンドルのエラーはほとんど出なくなりましたが、画面立ち上げ時に、以下の4つのエラーが出てしまいます。(このエラーを無視して動かしてみましたが、今までの結果と同じになります。) でもこの4つを直せば多分動くようになると思うので、対処法とか分かりましたら教えてください。(どなたか、ご経験のある方もいられましたら是非情報ください。) An internal error occurred during: "Load bundle:C:\eclipse\configuration\org.eclipse.osgi\473\0\.cp\bundles\php.ruble". (1) Loading bundle: C:\eclipse\configuration\org.eclipse.osgi\473\0\.cp\bundles\php.ruble (2) Loading bundle: C:\eclipse\configuration\org.eclipse.osgi\517\0\.cp\bundles\capistrano.ruble (3) Loading bundle: C:\eclipse\configuration\org.eclipse.osgi\517\0\.cp\bundles\cucumber.ruble (4) Loading bundle: C:\eclipse\configuration\org.eclipse.osgi\517\0\.cp\bundles\engineyard.ruble An internal error occurred during: "Loading bundle: C:\eclipse2\configuration\org.eclipse.osgi\473\0\.cp\bundles\php.ruble". org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String よろしくお願い致します。

  • siffon9
  • ベストアンサー率64% (136/211)
回答No.3

> Aptanaを立ち上げたとき、コンソールに、No bundle found for command ~ > みたいなものがたくさん出るのですが、それと何か関係はありますか。 こちらの環境では起動時にAptanaのコンソールには何も表示されません。 No bundle found for command ~ は何かのエラーメッセージの様にみえますね。内容を読めば何かヒントが得られるかもしれません。 推測するに、AptanaのインストールやRubyの開発環境設定で、何かが正しく行われていないような気がします。 インストールやruby環境設定は、どのような手順で行いましたか? ちなみに私は以下のURLを参考に行いました。 http://www.rubylife.jp/aptana/ 上記サイトの記載内容と大きく異なった点は以下くらいです。 1. Aptana本体のインストール前に、JAVA環境とGitのインストールが自動で行われた。 2. インストール場所はデフォルトのままにした。   C:\Users\○○\AppData\Roaming\Appcelerator\Aptana Studio 3. 日本語化は英語環境で一連の動作確認を行った後に実施した。 4. 日本語化後のclean作業は、pleiades_1.4.0.zipにあったeclipse.exe -clean.cmdの内容を書き換え実行することで行った。

tmiyoshi
質問者

補足

私も上のURLを参照してAptanaの設定は行いました。 それで、最後に何点か教えてください。 私はAptanaをインストールする前にmsysgitの設定をきちんと行っていません。(一応インストール はしてあるのですが、最後まで設定を行っていません。Javaの環境はEclipseを以前からずっと使って いるので設定できていると思います。) (1)上記の1.はWindowsにJavaとGitを何もインストールしていなかったら、Aptanaインストール 時にそれらが自動で行われるということですか?(私はJavaやEclipse関連はすでにたくさん使って いるのでダメですが。) (2)msysgitを最後まできちんと設定すれば現在コンソールにたくさん出ているbundleのエラーは 出なくなるのでしょうか?そしたらRubyのスクリプトも動くようなな気がしますが。 (3)AptanaにRailsの環境も入れられていますか?(bundle関連のエラーが出ているようなので) 後、この質問の前にしたRuby Applicationは動くようになりました。RubyをスクリプトではなくてApplicationとして動かすほうです。(こちらはWebのパースペクティブで、PATHに設定してあるRuby を使って動かすほうです。)プロジェクトを作成した後、そこにTemplateでRubyのファイルを2つ作り ます。use_grep.rbのなかの記述の「require "./grep"」を「require_relative "grep"」する と動作するようになりました。(Ruby2.0では前の記述でもOKなはずなんですけどね?)とりあえず ここは解決しました。 よろしくお願い致します。

  • siffon9
  • ベストアンサー率64% (136/211)
回答No.2

> C:\Users\ユーザ名\AppData\Local\Temp\dltk43329.tmp\scripts\sync.rb > は追って調べてみましたが確かに存在しています ロードできないのは、パーミッション関連の問題のような気がします。 sync.rbはrubyが標準で持っているファイルです。  C:/Ruby21/lib/ruby/2.1.0/sync.rb 通常であれば標準のsync.rbがロードされるのですが、質問者様の環境ではファイル検索で問題のパスのsync.rbが最初に見つかるので、こちらのファイルをロードしようとして失敗するというのがエラーの内容の様です。 一般にC:\Users\ユーザ名\AppData\Local\Tempはインストール時その他の一時作業用フォルダです。なので、何故そんなところにRubyスクリプトが存在するのか、そして何故その場所を探しに行くのかが謎です。 明確にその場所を指示して何かをインストールしたのでなければ、ruby関係の何かをインストールした際のゴミとしてファイルとファイル検索パスの設定が残っているのではないかと思います。 以前、何かインストールに失敗したようなことはありませんか? ファイル検索パスに上記パスが含まれているかの確認として以下を試してみてください。 1. aptana studioのプロジェクトで件のエラーが発生する単独のスクリプトファイルそのものを、Windowsのコマンドプロンプト上で実行しても同じエラーが出ますか? スクリプトファイルはaptana studioのワークスペースで設定したフォルダのサブフォルダにあります。 (rubyを複数インストールしている場合はaptana studioで指定しているのと同じruby.exeを使用するようにpath設定してください)  aptana studioのみで発生する場合  ・aptana studioのruby関連の設定みなおし(具体的な場所はわかりません)  ・aptana studioをアンインストールし、インストールフォルダそのものを削除の上、再インストールする。 2. Windowsのコマンドプロンプトでも発生する場合  コマンドプロンプトで以下を実行(rubyを複数インストールしている場合はaptana studioで指定しているのと同じruby.exeを使用するようにpath設定してください) ruby -e 'p $LOAD_PATH' 3. 2でもし   C:\Users\ユーザ名\AppData\Local\Temp\以下略  が表示されるようであれば、Windowsの環境変数の見直し、上記pathが指定されていれば削除する。  環境変数PATH, RUBYPATH, RUBYLIB あたりではないかと思います。 最悪、件のファイル(sync.rb)をフォルダdltk43329.tmp\scripts毎削除(或はフォルダ名変更)してしまえば解決するような気もします。 (このフォルダが何かに使用されていない前提ですが)

tmiyoshi
質問者

補足

情報ありがとうございます。 1.は正常に動きます。 2.と3.で問題の箇所は表示されません。 もう一度、Aptana Studio 3をアンインストールして最初からやり直してみました。 インストールフォルダで残っていたものもあったので、それも削除して再インストールしました。 結果は、同じで、今解析中です。 例の、sync.rbはスクリプトを起動する毎にTempの下に新しい番号のものが作られていきます。 (削除しても、次に新しいものが作成されるようです。) Aptanaの検索パスってどこに書かれているのか分かりますか?(その中に、このパスが含まれているので あれば、それを削除すればよいのかなと?) それと、Aptanaを立ち上げたとき、コンソールに、No bundle found for command ~ みたいなものがたくさん出るのですが、それと何か関係はありますか。 昨日、確かAptanaのインストールに一回失敗したかもしれません。ごみが残っているようば場所とかあり ましたら教えてください。 よろしくお願い致します。

  • siffon9
  • ベストアンサー率64% (136/211)
回答No.1

こんにちは aptana studioをインストールして試してみましたが正常に動作しました。 試してみた限りでは、作成したファイルはutf-8で保存されるので、Windows-31J云々のエラーがでるのが謎ですね。 1. 作成したプロジェクトを右クリック→「プロパティ」→リソース→テキストファイルのエンコードがUTF-8になっていますでしょうか? 2.ご質問に書かれたエラーは、エラーメッセージ全文ですか?  通常ですと、use_grep.rbまたはgrep.rbの何行目でエラーが発生しているという情報が表示されるような気がします。(下の4.のメッセージを参照してください) 3.ファイルが一つだけのプロジェクトは正常動作しますか? 例: #coding: utf-8 print("こんにちは\n") 4.use_grep.rbのrequre行をコメントにした場合、エラー内容が変わりますか?  私の環境では以下のエラーがでました。(6行目でエラーが発生しています) C:/Users/○○/Documents/Aptana Studio 3 Workspace/TestGrep/use_grep.rb:6:in `<main>': undefined method `simple_grep' for main:Object (NoMethodError) 5.新規プロジェクトを作成して、コピペでなく、一から入力し直しても同じエラーになりますか。  ソースファイルに何か変なコードが紛れこんでいるのかもしれません。 とりあえず思いつく確認事項を挙げてみました。 参考に私の環境と、行った内容を以下に記載します。 環境 Windows8.1 aptana studio 3.6.1(日本語化にpleiades_1.4.0.zip使用) ruby 2.1.4(RubyInstaller使用) 手順 1.「ファイル」→「新規」→「Ruby Project」を選んで、プロジェクトTestGrepを作成。 2.このプロジェクトを右クリック→「新規」→「空のRubyスクリプト」で、use_grep.rbとgrep.rbのファイルを作成して保存。  両ファイルの一行目に以下追加  #coding: utf-8 3.このプロジェクトを右クリック→「新規」→「ファイル」で、sample.txtを作成して保存。 4.左の窓でuse_grep.rbを選択した状態で、メニューバーから「実行」→「実行構成」→「引数」タブを選択 5.スクリプト引数欄に、「"matz" "sample.txt"」を入力 6.このプロジェクトを右クリック→「実行」→「Rubyスクリプト」→「launchスクリプトの選択(use_grep.rb)」

tmiyoshi
質問者

補足

わざわざご確認いただいてまことにありがとうございます。 ご質問の1、2、5はOKです。 3、4はNoです。 結局、use_grep.rbのrequire命令が問題なのではなくて、このエラーはどんな場合でも出ます。 それでもう一度、Aptanas Studio 3をアンインストールして最初からやり直して、そちらで御呈示 いただいたうまくいっている環境に合わせてやってみたのですが、今度は、 C:/Ruby21/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- C:\Users\ユーザ名\AppData\Local\Temp\dltk43329.tmp\scripts\sync.rb (LoadError) from C:/Ruby21/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' のエラーが出ます。エラーが起こっているのは前と同じ個所ですが、今度は、 上記のファイルがロード出来ないと言われています。 一応、 C:\Users\ユーザ名\AppData\Local\Temp\dltk43329.tmp\scripts\sync.rb は追って調べてみましたが確かに存在していますし、パーミション(全部リードはできる)などに は問題ないようなので何故、ロードエラーになってしまうのかが分かりません。 ただ、前よりは内容は改善されてきていると思うので、何か分かりましたら情報いただけないでしょうか? よろしくお願い致します。

関連するQ&A

専門家に質問してみよう