# `package.not_locked`

Installed package has no line in the lock.

Area 11, [External services](../topics/external-services.md); not declinable; the next step is usually the human's.

`packages/` holds only installed packages, each with its line in
`jadpo.lock`:


```jadpo
/// UK postcodes.
package Postcodes.v2 {
    licence: Licence.mit
    jadpo: "1.0"
}
```

```text
error: Package `Postcodes.v2` isn't in `jadpo.lock`
 --> packages/postcodes/v2/package.jadpo
  reason: `packages/` holds only installed packages, each with its line in `jadpo.lock`: its version, digest and source. A package with no line was copied in rather than installed, so nothing says where it came from.
  next: Install it with `jadpo package add`, or, if it is the app's own code, move it to `shared/providers/postcodes/v2/` (human)
  rule: package.not_locked
  help: https://jadpo.dev/docs/errors/package.not_locked

check failed: 1 error, 2 files
```
