Yarn 1 (Classic)
Enforcing Yarn’s version
A different version of Yarn within a team might sometimes cause issues. Setting the version in engines
inside package.json
would technically solve the issue but yarn policies set-version
adds exact Yarn release into repository so it doesn't require to upgrade global Yarn.
yarn policies set-version latest
It will add config file .yarnrc
and yarn binary used for the project.
yarn-path ".yarn/releases/yarn-1.22.10.js"
yarn-path
was introduced in Yarn 1.0, so the project should have at least "yarn": "^1.0.0"
and yarn-path
in.yarnrc
makes sure it'll use proper version.
{
"engines": {
"yarn": "^1.0.0"
}
}
--frozen-lockfile
Usually used in CI. Don’t generate a yarn.lock
lockfile and fail if an update is needed. That could be caused e. g. when dependency version is updated manually in package.json
.
yarn install --frozen-lockfile
Deprecated
Workspaces experimental options
workspaces
and nohoist
is no more experimental since Yarn 1.0 and are on by default. Options can still be used to turn off the functionality but it is stable enough so no need for that.
workspaces-experimental true
workspaces-nohoist-experimental true
User options
.yarnrc
should not contain lastUpdateCheck
, email
, username
. Those are user specific values. https://github.com/yarnpkg/yarn/issues/4134#issuecomment-627655554
lastUpdateCheck
is stored in global ~/.yarnrc
.