Domanda

Penso che sto impazzendo. Qualcuno può aiutare?

Ho la cartella c: \ project \ bin Eseguo quanto segue per eseguire il mio script rake

cd C:\project
rake

Nel mio script rake ho:

require 'rake/clean'
CLOBBER.include('bin')

task :default => [:compile]

task :compile do
    # do nothing
end

Non elimina il " bin " cartella né i contenuti del "bin" cartella. Sto eseguendo Ruby in Windows (1,86 o giù di lì) e ho installato il rake usando, gem install rake.

Ho perso qualcosa. Ho provato --trace ecc. Ma non ho ricevuto feedback.

È stato utile?

Soluzione

TL; DR: $ rake clobber


Come detto sopra, non sono invocate implicitamente. Ecco un esempio, come hai chiesto.

~/deleteme$ cd project
total 8
-rw-r--r--@ 1 josh  staff  110 Jun 27 06:04 Rakefile


~/deleteme/project$ cat Rakefile
require 'rake/clean'
CLOBBER.include('bin')

task :default => ["compile"]

task :compile do
  mkdir 'bin'
end


~/deleteme/project$ rake
(in /Users/josh/deleteme/project)
mkdir bin


~/deleteme/project$ ls -l
total 8
-rw-r--r--@ 1 josh  staff  110 Jun 27 06:04 Rakefile
drwxr-xr-x  2 josh  staff   68 Jun 27 06:05 bin


~/deleteme/project$ rake -T
(in /Users/josh/deleteme/project)
rake clean    # Remove any temporary products.
rake clobber  # Remove any generated file.


~/deleteme/project$ rake clobber
(in /Users/josh/deleteme/project)
rm -r bin


~/deleteme/project$ ls -l
total 8
-rw-r--r--@ 1 josh  staff  110 Jun 27 06:04 Rakefile

Altri suggerimenti

CLEAN e CLOBBER non sono attività implicite: è necessario dichiarare la dipendenza o invocarle

Per un modo più semplice per farlo, prova

task :default => [:compile, :clobber]

anziché

task :default => ["compile"]

E poi nella tua riga di comando puoi semplicemente eseguire

rake

Ricorda, in Ruby è preferibile usare i Simboli invece dei letterali String

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top