Принудительное использование пряжи (и в конкретной версии)
Также опубликовано в мой блог.
Люди и организации часто имеют предпочтения в отношении определенного менеджера пакетов. На работе мы решили использовать Yarn из-за поддержки эмодзи (jk), но как заставить всех использовать Yarn?
Мы можем использовать крючок предварительной установки чтобы проверить, работает ли пользователь npm install
или же yarn install
. Вот один пример:
"scripts": {
"preinstall": "node -e \"if(process.env.npm\_execpath.indexOf('yarn') === -1) throw new Error('You must use Yarn to install, not NPM')\"",
}
Если вы запустите npm install
:
Если вы хотите игнорировать проверку (например, среда CI), используйте --ignore-scripts
вариант:
npm install --ignore-scripts
Кроме того, вы можете использовать вариант двигателей NPM для принудительной установки определенной версии Node и/или Yarn. Вот пример:
"engines": {
"yarn": ">1.19.1",
"node": ">12"
},