「タスク「コンパイル」のビルド方法がわからない」というエラーが表示されます。私はまだルビーに慣れていませんが、これらのトレースはすべて、私が書いたのではないコードを指しているようです。このエラーに対して何をすべきですか?
#> rake compile --trace レーキが中止されました! タスク「コンパイル」を構築する方法がわからない /usr/local/rvm/gems/ruby-1.9.3-p286/gems/rake-10.0.3/lib/rake/task_manager.rb:49:in `[] ' /usr/local/rvm/gems/ruby-1.9.3-p286/gems/rake-10.0.3/lib/rake/application.rb:142:in `invoke_task ' /usr/local/rvm/gems/ruby-1.9.3-p286/gems/rake-10.0.3/lib/rake/application.rb:101:in `block(2 level)in top_level ' /usr/local/rvm/gems/ruby-1.9.3-p286/gems/rake-10.0.3/lib/rake/application.rb:101:in `each ' /usr/local/rvm/gems/ruby-1.9.3-p286/gems/rake-10.0.3/lib/rake/application.rb:101:in `block in top_level ' /usr/local/rvm/gems/ruby-1.9.3-p286/gems/rake-10.0.3/lib/rake/application.rb:110:in `run_with_threads ' /usr/local/rvm/gems/ruby-1.9.3-p286/gems/rake-10.0.3/lib/rake/application.rb:95:in `top_level ' /usr/local/rvm/gems/ruby-1.9.3-p286/gems/rake-10.0.3/lib/rake/application.rb:73:in `block in run ' /usr/local/rvm/gems/ruby-1.9.3-p286/gems/rake-10.0.3/lib/rake/application.rb:160:in `standard_exception_handling ' /usr/local/rvm/gems/ruby-1.9.3-p286/gems/rake-10.0.3/lib/rake/application.rb:70:in `run ' /usr/local/rvm/gems/ruby-1.9.3-p286/gems/rake-10.0.3/bin/rake:33:in `' /usr/local/rvm/gems/ruby-1.9.3-p286/bin/rake:23:in `load ' /usr/local/rvm/gems/ruby-1.9.3-p286/bin/rake:23:in `'
これはRakefileです:
'bundler/gem_tasks'が必要です 「レーキ」が必要 'rake/extensiontask'が必要 $ myDir = File.dirname(__ FILE__) $ myDir+'/lib/Q/console.rb'が必要です $ myDir+'/lib/Q/version.rb'が必要です $ myDir+'/lib/Q/rakeoverride.rb'が必要です $ myDir+'/lib/Q/filetools.rb'が必要です #これはヘッダーとgemのバージョン番号を出力するだけです puts Q :: Console.txHead('Q-Pool Ruby Extension Q V'+ Q :: VERSION) #gemspecから仕様をロードして作成します #内のすべての拡張子ファイルのタスク #実行可能ファイル。 spec = Gem :: Specification.load('Q.gemspec') spec.executables.each do | f | Rake :: ExtensionTask.new('Q'、spec)do | ext | #拡張子ファイルは* .soなので、 #名前を取得するために拡張子を切り刻む ext.name = f.gsub(/\。so$ /、'') ext.tmp_dir ='tmp' ext.lib_dir ='bin' 終わり 終わり #古いバイナリを削除して環境をクリーンアップ override_task:clean do Q :: Console.txNote('cleaning ...')を置きます clear_tmp 始める Rake :: Task ["clean:original"]。invoke Q :: Console.txConfirm('... cleaned!')を置きます 救援 puts Q :: Console.txAlert('could not clean:' + $ !. to_s) 出口 終わり 終わり #ディレクトリ構造を初期化する task:init do FileCheckCreateDirectory($ myDir +'/ bin') FileCheckCreateDirectory($ myDir +'/ tmp') 終わり #モジュールをコンパイルしてlibにインストールする override_task:compile do Q :: Console.txNote('compiling ...')を置きます 始める Rake :: Task ["compile:original"]。invoke Q :: Console.txConfirm('...compiled!')を置きます レスキュー例外 puts Q :: Console.txAlert('コンパイルできませんでした:' + $ !. to_s) 出口 確認 clear_tmp 置く 終わり 終わり #コマンドを表示 タスク:help do show_help 終わり #モジュールをビルドしてインストールする task:build => [:init、:clean、:compile] Bundler :: GemHelper.install_tasks #一時ファイルを削除します def clear_tmp FileUtils.rm_rf(Dir.glob($ myDir +'/ tmp / *')) 終わり #ヘルプ画面を表示 def show_help Q :: Console.out(Q :: Console.txCode('build')+'は、初期化、クリーンアップ、およびコンパイルを実行します。') Q :: Console.out(Q :: Console.txCode('clean')+'temp-dirから古いバイナリを削除します。') Q :: Console.out(Q :: Console.txCode('compile')+'バイナリをコンパイルします。') Q :: Console.out(Q :: Console.txCode('help')+'はrake-commands(このページ)を参加させます。') Q :: Console.out(Q :: Console.txCode('init')+'はgemsディレクトリ構造を作成します。') 置く 終わり