1

シンボリックリンクの束を設定するために使用されるrakeタスクがありますが、それらがまだ存在しない場合のみです。現在、タスクを実行しても出力はありません。そのため、何かが起こったかどうかはわかりません。各シンボリックリンクに対して「作成済み」または「スキップ済み」と言うことで、Rails ジェネレーターのように出力を提供するにはどうすればよいですか? このタイプの機能を取得するには、どのような gem またはモジュールを含める必要がありますか?

# example
task :setup do
  if !File.symlink?('/example/link')
    %x{cd /example && ln -s /something link}
  end
end
4

1 に答える 1

0

これにはおそらく Ruby のFileUtils ln_s機能を使用します。

ln_s(old, new, options = {})

old を指すシンボリック リンク new を作成します。new が既に存在し、それがディレクトリである場合、シンボリック リンク new/old を作成します。new が既に存在し、それがディレクトリでない場合は、Errno::EEXIST が発生します。ただし、:force オプションが設定されている場合は、new を上書きします。

FileUtils.ln_s '/usr/bin/ruby', '/usr/local/bin/ruby'
FileUtils.ln_s 'verylongsourcefilename.c', 'c', :force => true

...

ln_s(list, destdir, options = {})

ディレクトリ内に複数のシンボリック リンクを作成し、それぞれがリスト内の項目を指すようにします。destdir がディレクトリでない場合、Errno::ENOTDIR が発生します。

destdir がディレクトリでない場合、Errno::ENOTDIR が発生します。

于 2012-07-19T18:27:58.127 に答える