Library/package development - message when loading

Quick points (and updated edit in 2021):

  • while if your package has a NAMESPACE, then .onLoad() is where you used to do this: but .onLoad() has been required to be 'silent'

  • if your package has a NAMESPACE, then .onAttach() is where can call, preferably via packageStartupMessage() (which can be suppressed where cat() or message() cannot

  • if your package does not have NAMESPACE, then you must add one now (and .First.lib() was where you used to do this) -- NAMESPACES have been mandatory for a few years now

  • either way, use packageStartupMessage() instead of cat() so that users have a choice of suppressing this.


Yes. You can use the .onLoad, .onAttach, or .First.lib functions to do whatever you want when the package is loaded. I suggest looking at the help for those functions. You would use .onLoad with a namespace, and .First.lib without.

One convention is that people will frequently put these commands in a separate zzz.R file, which is just used for package related code.

Tags:

R

Package