is there any way to display a message when a user loads library(myCustomLibrary)? Upon loading, I want to display a message that tells the user how to run all the test functions.
library(myCustomLibrary)
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'
.onLoad()
if your package has a NAMESPACE, then .onAttach() is where can call, preferably via packageStartupMessage() (which can be suppressed where cat() or message() cannot
.onAttach()
packageStartupMessage()
cat()
message()
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
.First.lib()
either way, use packageStartupMessage() instead of cat() so that users have a choice of suppressing this.
2.1m questions
2.1m answers
60 comments
57.0k users