yarnを使うことになっているプロジェクトでは、npm installを禁止したい場合があります。
この投稿では、プロジェクト単位でnpm installを禁止する方法を紹介します。
npm installを禁止する設定
まず、package.jsonにengines.npm
フィールドを追加し、そこに"please_use_yarn_instead"
と書きます:
package.json
{
"engines": {
"npm": "please_use_yarn_instead"
}
}
次に、package.jsonがあるディレクトリに.npmrcを作り、内容を下記のとおりにします:
.npmrc
engine-strict=true
設定は以上です。仕上がりファイル構成はこうなります:
.
├── .npmrc
└── package.json
npm installを実行してみる
この設定をした上で、npm install
を実行するとエラーになります。
おまけ: 「yarn.lockを大事にしてください(切実)」
package.jsonのengines.npm
に指定する値は、npmとして存在しないバージョンなら何でもいいので、次のようにしても大丈夫です:
【お願い】npmではなくyarnを使ってくださいyarn.lockを大事にしてください(切実)
package.json
{
"engines": {
"npm": "⚠️【お願い】npmではなくyarnを使ってください🙇yarn.lockを大事にしてください(切実)"
}
}
関連
- only-allowを用いてプロジェクトでYarnの使用を強制する方法 - Qiita
- package.jsonに"engines"を設定すると「このバージョンのNode.jsでしか動かない」を表明できる - Qiita
最後までお読みくださりありがとうございました。Twitterでは、Qiitaに書かない技術ネタなどもツイートしているので、よかったらフォローしてもらえると嬉しいです→Twitter@suin