Yarnの個人的メモ
目次
久しぶりの技術系記事ですね。今日はこのサイトでも使っている Yarn の話をしてみます。
Yarnとは
Yarn is a package manager that doubles down as project manager. Whether you work on one-shot projects or large monorepos, as a hobbyist or an enterprise user, we’ve got you covered.
Node.jsのパッケージ管理ツールです。うちでは hexo やそのプラグインなんかの管理に使ってます。
今日はYarnを使う際に個人的によく使っているオプションなんかを書いてみたいと思います。だいたいネットのパクリ なので逐一元ネタURLがついてきます。
npm ci
の代わり
node_modules の削除と yarn install --frozen-lockfile
を一緒に実行することで npm ci
とほぼ同様の効果を実現できます。
yarnpkg - What is the closest to `npm ci` in yarn - Stack Overflow
rm -rf node_modules && yarn install --frozen-lockfile |
ちなみに npm ci
についてはこちらをどうぞ。
npm-ci | npm Docs
This command is similar to npm install, except it’s meant to be used in automated environments such as test platforms, continuous integration, and deployment – or any situation where you want to make sure you’re doing a clean install of your dependencies.
名前のとおりローカルだとあまり出番はないですね。(毎回 node_modules を削除されちゃたまらんw)
npm audit fix
的な使い方
npm audit
も yarn audit
もパッケージの脆弱性をチェックするコマンドです。npm audit fix
を使うと修正も同時に実行します。
んで、yarn audit fix
は現状存在しないので代替手段として一時的に npm audit fix
を使うという方法をとっています。
具体的には以下のとおりです。
package.lock.json の生成だけを行う
--package-lock-only
をつけると node_modules の更新を行わないそうです。
npm install --package-lock-only |
npm audit fix
を実行
npm audit fix |
package-lock.json から yarn.lock を生成する
package-locks | npm Docsyarm import
で実現できます。
# 先に消しておく |
ネタ元
yarn-audit-fix パッケージを使う方法も紹介されていますが、yarn-audit-fix パッケージ自体の脆弱性を解決したい場合に対応できなさそうな気がしたのでひとまず見送っています。
How to yarn audit fix | Edvins Antonovs
その他
もういくつか何かあった気がするんですがひとまず思い出したら追記しますw
というかこうしてみると今となっては ぶっちゃけnpmでよかったんじゃないか という気はします。やりたいことはnpmでやれますし。このサイトを作った当初はYarnが高速と言われていたので採用していたんですが流れが変わった気がします。昔は package-lock.json の仕組みがまだなかったことが大きいですね。一応Yarnのほうが少し高速ではあるのかな?