E06261: a package must have a 'description'
What went wrong
A 'defines package' block has no 'description'. Every package must say what it is for: the description is part of the package's metadata, shown wherever the package is listed or published. The compiler, the language server and every tool report it (the message starts "In '<module>' package:").
A 'description' that is there but not a String literal is E06260, not this.
How to fix it
Add a 'description' to the package block, as a String literal: 'description <- "What this package is for"'.
The [EXAMPLE] section below shows a package with no description, and the same package with one.
Common causes
- A package block written to declare dependencies or files, without metadata
- The description commented out or deleted
- A misspelt property name ('descripton' - that one is E06260, and the description is still missing)
See also
- E06262: a package with no 'version'
- E06260: a package property of the wrong shape, or unknown
- https://ek9.io/packaging.html
Examples
Every example is compiled by the EK9 compiler: the first fails exactly as captioned, the others fix it.
Fails with E06261: a package must have a 'description'
#!ek9 defines module error.e06261.bad defines package version <- 1.0.0-0
Fixed: Give the package a description
#!ek9 defines module error.e06261.good defines package version <- 1.0.0-0 description <- "A library"