@c -*-texinfo-*-

@c Copyright (C) 2021-2022 Free Software Foundation, Inc.
@c See file doclicense.texi for copying conditions.

@include trampver.texi

@node ELPA Installation
@ifplaintext
@unnumbered Installing @value{tramp} via GNU ELPA
@end ifplaintext
@ifnotplaintext
@section Installing @value{tramp} via GNU ELPA
@end ifnotplaintext
@cindex installation
@cindex GNU ELPA

@ifplaintext
@ifclear elpainclude
Tramp stands for ``Transparent Remote (file) Access, Multiple
Protocol''.  This package provides remote file editing, similar to
Ange-FTP.

The difference is that Ange-FTP uses FTP to transfer files between the
local and the remote host, whereas Tramp uses a combination of
@option{rsh} and @option{rcp} or other work-alike programs, such as
@option{ssh}/@option{scp}.

A remote file name has always the syntax

@example
@trampfn{method,user%domain@@host#port,/path/to/file}
@end example

Most of the parts are optional, read the manual
@uref{@value{trampurl}} for details.
@end ifclear
@end ifplaintext

Tramp must be compiled for the Emacs version you are running.  If you
experience compatibility error messages for the Tramp package, or if
you use another major Emacs version than the version Tramp has been
installed with, you must recompile the package:

@itemize @bullet
@item
Remove all byte-compiled Tramp files

@example
$ rm -f ~/.emacs.d/elpa/tramp-@value{trampver}/tramp*.elc
@end example

@item
Start Emacs with Tramp's source files

@example
$ emacs -L ~/.emacs.d/elpa/tramp-@value{trampver} -l tramp
@end example

This should not give you the error.

@item
Recompile the Tramp package @strong{with this running Emacs instance}

@example
M-x tramp-recompile-elpa
@end example

Afterwards, you must restart Emacs.
@end itemize
