在学习NestJS过程中需要实现登录注册的逻辑,其中涉及到加密方法,于是想要采用argon2的方法加密用户密码。如果有不了解什么是argon2的推荐查看维基百科 Argon2 - Wikipedia或者 Argon2算法简介。
Cannot install argon2 on windows 10 · Issue #153 · ranisalt/node-argon2 (github.com),看来也有同样的人遇到了和我一样的问题。
我的node版本为18所以基本排除版本问题。
pnpm i node-gyp -g再次执行
pnpm i argon2安装依然失败!
pnpm i argon2 --unsafe-perm到此问题解决,下面来讲解这个参数的含义,想要深入了解的可以继续往下看。
如果你使用sudo命令来全局安装一个npm包,那么你可能需要加上–unsafe-perm选项,否则可能会出现警告或错误。这是因为npm默认会在安装包之前,将当前用户切换为nobody用户,以避免潜在的安全风险。但是,这样做可能会导致一些需要系统权限的操作失败,比如编译二进制文件等。
如果你使用–unsafe-perm选项,那么npm就不会切换用户,而是直接以root用户运行包脚本。这样可以避免一些安装失败的问题,但是也会增加一些安全风险,因为你相当于信任了这个包的脚本不会做任何恶意的事情。
有的小伙伴遇到的报错信息可能会提示你没有安装python环境,按照提示再进行安装python即可。