「タスク「コンパイル」のビルド方法がわからない」というエラーが表示されます。私はまだルビーに慣れていませんが、これらのトレースはすべて、私が書いたのではないコードを指しているようです。このエラーに対して何をすべきですか?
#> 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ディレクトリ構造を作成します。')
置く
終わり