我想切换到使用PNPM超过NPM的常见原因。不幸的是剪切和粘贴,或肌肉记忆接管有时,我会不小心使用NPM安装一个包在一个项目中正在使用已经使用PNPM。事情不顺利,该项目了。
我希望阻止或别名NPM命令,以支持PNMP。
我尝试过的事情:
- Only Allow-虽然在PNPM网站上进行了推广,但它似乎不起作用,至少不适用于最常见的用例--单个导入。
1.因为我的终端是Oh My ZSH,所以我找到了要添加到~/.zshrc的代码,以便在包含PNPM锁定文件的目录中阻止npm。
NPM_PATH=$(which npm)
npm () {
if [ -e PNPM-lock.yaml ]
then
echo "Please use PNPM with this project"
elif [ -e yarn.lock ]
then
echo "Please use Yarn with this project"
else
$NPM_PATH "$@"
fi
}
这似乎对我的目的有效,但是有没有人有更干净/更少的zsh特定替代方案?
如果确实发生了这种情况,建议采取什么步骤来恢复被NPM安装污染的PNMP?
1条答案
按热度按时间fbcarpbf1#
当它是特定于项目的时,您可以使用此https://www.freecodecamp.org/news/how-to-force-use-yarn-or-npm/
我一直在使用它,因为我们切换到PNPM,我仍然不断使用Yarn出于某种原因。