Skip to content

Preview Ruby 4.1 is a preview. It can change before the final release. Switch to Ruby 4.0 →

instance method

Pathname#rmtree

() -> self
rmtree(noop: nil, verbose: nil, secure: nil) → self

Deletes the entire filetree at the path in self; returns self:

Example
dir_pn = Pathname('foo/bar/baz') # => #<Pathname:foo/bar/baz>
dir_pn.mkpath                    # Create 'baz' and intermediate directories.
file_pn = dir_pn.join('t.tmp')   # => #<Pathname:foo/bar/baz/t.tmp>
file_pn.write('foo')             # Create file at nested directory 'baz'.
Pathname('foo').rmtree           # Delete the entire tree at directory 'foo'.
Pathname('foo').exist?           # => false

Use method rmdir to delete a single (empty) directory.

See FileUtils.rm_rf for keyword arguments.

See also #rmdir #root? #rename #setgid? also in 4.0 · 3.4 · 3.3 · 3.2 · 3.1 · 3.0