Windows环境安装bcrypt@1.0.3报错求助(Node v8.9.4、npm v5.6.0)
解决Windows下Node.js v8.9.4安装bcrypt@1.0.3失败的问题
我之前也帮不少开发者解决过Windows环境下bcrypt安装失败的问题,结合你当前用的Node.js v8.9.4和npm v5.6.0,给你几个针对性的解决方案:
安装Windows原生模块编译工具
bcrypt是原生C模块,Windows下需要依赖Visual C编译工具和Python 2.7才能完成本地编译。你可以通过npm官方提供的工具一键安装这些依赖:- 以管理员身份打开命令提示符(CMD)或PowerShell
- 执行命令:
npm install -g windows-build-tools
这个工具会自动安装Python 2.7和Visual C++ Build Tools 2015,刚好匹配Node.js v8的版本需求。安装完成后,重新执行npm install bcrypt@1.0.3 --save试试。
改用纯JS实现的bcryptjs替代
如果编译仍然遇到问题,不妨换用bcrypt的纯JavaScript版本bcryptjs——它不需要编译任何原生代码,API和bcrypt完全兼容,对Windows环境更友好:
执行命令:npm install bcryptjs --save
之后只需把代码里的require('bcrypt')替换成require('bcryptjs'),无需修改其他业务逻辑。清理npm缓存后重试
有时候npm缓存损坏也会导致下载或安装失败,你可以先清理缓存再重新安装:- 执行:
npm cache clean --force - 删除项目下的
node_modules文件夹和package-lock.json文件 - 重新执行:
npm install bcrypt@1.0.3 --save
- 执行:
解决node-pre-gyp网络下载问题
错误提示里的下载失败大概率是网络无法访问GitHub的release资源,你可以尝试:- 临时切换npm源到国内镜像,比如淘宝源:
npm config set registry https://registry.npmmirror.com,然后再执行安装命令 - 如果你的网络需要代理,配置npm代理:
安装完成后可以再切回原npm源:npm config set proxy http://your-proxy-address:port npm config set https-proxy http://your-proxy-address:portnpm config set registry https://registry.npmjs.org
- 临时切换npm源到国内镜像,比如淘宝源:
内容的提问来源于stack exchange,提问作者Deb M.
相关产品推荐
相关产品推荐

