禁止使用npm命令而支持使用pnpm

xqk2d5yq  于 2022-11-14  发布在  其他
关注(0)|答案(1)|浏览(382)

我想切换到使用PNPM超过NPM的常见原因。不幸的是剪切和粘贴,或肌肉记忆接管有时,我会不小心使用NPM安装一个包在一个项目中正在使用已经使用PNPM。事情不顺利,该项目了。
我希望阻止或别名NPM命令,以支持PNMP。
我尝试过的事情:

  1. 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?

fbcarpbf

fbcarpbf1#

当它是特定于项目的时,您可以使用此https://www.freecodecamp.org/news/how-to-force-use-yarn-or-npm/
我一直在使用它,因为我们切换到PNPM,我仍然不断使用Yarn出于某种原因。

相关问题