1

デバッグしたい宝石 nanoc があります。

そのコマンド ラインnanocは、次のスクリプトを実行します (/.rvm/gems/ruby-1.9.2-p290/bin 内)。

#!/usr/bin/env ruby
#
# This file was generated by RubyGems.
#
# The application 'nanoc' is installed as part of a gem, and
# this file is here to facilitate running it.
#

require 'rubygems'

version = ">= 0"

if ARGV.first
  str = ARGV.first
  str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding
  if str =~ /\A_(.*)_\z/
    version = $1
    ARGV.shift
  end
end

gem 'nanoc', version
load Gem.bin_path('nanoc', 'nanoc', version)

(/.rvm/gems/ruby-1.9.2-p290/gems/nanoc-3.6.2/bin) として解決されるもの自体が最後の行に読み込まれます

#!/usr/bin/env ruby
# encoding: utf-8

# Try loading bundler if it's possible
begin
  require 'bundler/setup'
rescue LoadError
  # no problem
end

# Add lib to load path
$LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__) + '/../lib'))

# Load nanoc
require 'nanoc'
require 'nanoc/cli'

# Run base
Nanoc::CLI.run(ARGV)

これらの種類のスクリプトをデバッグするための最も邪魔にならないオプションは何ですか? 最初のファイルをこじ開けると、ARGV がファイル名そのものになります。

デバッガーを実行するためだけにファイルを変更する必要がありますか?

4

1 に答える 1

2

正直なところ、私はその質問を理解しているかどうかわかりません。nanoc の lib 内にこじ開けることができます。

または、git リポジトリをフォークしてからクローンを作成し、バンドルを使用して gem を実行し、その方法でデバッグすることもできます。

https://github.com/nanoc/nanoc

リポジトリを複製し、デバッグ コードを追加してからbundle exec bin/nanoc、ローカルにインストールされたコピーをクリーンに保つように実行します。何が問題なのかがわかったら、新しい gem を作成してインストールし、コードをコミットして、プル リクエストを作成して修正することができます。

于 2013-03-24T15:02:13.170 に答える