nestjs安装grpc报错乱码

73 阅读8分钟

grpc自打用了之后真的给我造成了不少麻烦,每次到一个新环境安装依赖的时候都能给我带来一点惊喜。

最近换了电脑,把项目下载到新电脑之后执行pnpm i,项目蹦出一堆错误,整的我头皮发麻,大致情况如下:

│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\third_party\boringssl\include\openssl\base.h(147,1): warning C4005: ��OPENSSL_VERSION_NUMBER��: ���ض��� [C:\Us  
│ C:\Users\46917\AppData\Local\node-gyp\Cache\18.13.0\include\node\openssl\archs\VC-WIN64A\no-asm\include\openssl\opensslv.h(103,1): message : �μ���OPENSSL_VERSION_NUMBER����ǰһ������ [C:\Users\46917\Desktop\item  
│ C:\Users\46917\AppData\Local\node-gyp\Cache\18.13.0\include\node\openssl\e_os2.h(183,1): warning C4005: ��OPENSSL_EXPORT��: ���ض��� [C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_  
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\third_party\boringssl\include\openssl\base.h(182,1): message : �μ���OPENSSL_EXPORT����ǰһ������ [C:\Users\46917  
│ C:\Users\46917\AppData\Local\node-gyp\Cache\18.13.0\include\node\openssl\types.h(103,26): error C2371: ��EVP_MD��: �ض��壻��ͬ�Ļ����� [C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_m 
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\third_party\boringssl\include\openssl\base.h(304,26): message : �μ���EVP_MD�������� [C:\Users\46917\Desktop\it  
│ C:\Users\46917\AppData\Local\node-gyp\Cache\18.13.0\include\node\openssl\types.h(104,30): error C2371: ��EVP_MD_CTX��: �ض��壻��ͬ�Ļ����� [C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\no 
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\third_party\boringssl\include\openssl\base.h(303,30): message : �μ���EVP_MD_CTX�������� [C:\Users\46917\Deskto  
│ C:\Users\46917\AppData\Local\node-gyp\Cache\18.13.0\include\node\openssl\types.h(130,34): error C2371: ��EVP_ENCODE_CTX��: �ض��壻��ͬ�Ļ����� [C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.1 
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\third_party\boringssl\include\openssl\base.h(308,34): message : �μ���EVP_ENCODE_CTX�������� [C:\Users\46917\De  
│ C:\Users\46917\AppData\Local\node-gyp\Cache\18.13.0\include\node\openssl\archs\VC-WIN64A\no-asm\include\openssl\crypto.h(308,3): error C2371: ��CRYPTO_THREADID��: �ض��壻��ͬ�Ļ����� [C:\Users\46917\Desktop\items\ 
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\third_party\boringssl\include\openssl\base.h(231,13): message : �μ���CRYPTO_THREADID�������� [C:\Users\46917\D  
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(33,1): error C2118: ���±� [C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\  
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(34,1): error C2118: ���±� [C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\  
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(35,1): error C2118: ���±� [C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\  
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(36,1): error C2118: ���±� [C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\  
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(37,1): error C2118: ���±� [C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\  
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(38,1): error C2118: ���±� [C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\  
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(39,1): error C2118: ���±� [C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\  
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(40,1): error C2065: ��ERR_LIB_PKCS8��: δ�����ı�ʶ�� [C:\Users\46917\Desktop\items\mopo  
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(40,1): error C2057: Ӧ���볣������ʽ [C:\Users\46917\Desktop\items\mopo-code\node_modules 
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(40,1): error C2466: ���ܷ��䳣����СΪ 0 ������ [C:\Users\46917\Desktop\items\mopo-code\no 
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(41,1): error C2118: ���±� [C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\  
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(42,1): error C2118: ���±� [C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\  
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(43,1): error C2118: ���±� [C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\  
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(44,1): error C2118: ���±� [C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\  
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(45,1): error C2118: ���±� [C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\  
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(46,1): error C2118: ���±� [C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\  
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(47,1): error C2118: ���±� [C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\  
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(48,1): error C2118: ���±� [C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\  
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(49,1): error C2118: ���±� [C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\  
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(50,1): error C2065: ��ERR_LIB_DIGEST��: δ�����ı�ʶ�� [C:\Users\46917\Desktop\items\mop  
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(50,1): error C2057: Ӧ���볣������ʽ [C:\Users\46917\Desktop\items\mopo-code\node_modules 
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(50,1): error C2466: ���ܷ��䳣����СΪ 0 ������ [C:\Users\46917\Desktop\items\mopo-code\no 
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(51,1): error C2065: ��ERR_LIB_CIPHER��: δ�����ı�ʶ�� [C:\Users\46917\Desktop\items\mop  
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(51,1): error C2057: Ӧ���볣������ʽ [C:\Users\46917\Desktop\items\mopo-code\node_modules 
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(51,1): error C2466: ���ܷ��䳣����СΪ 0 ������ [C:\Users\46917\Desktop\items\mopo-code\no 
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(52,1): error C2065: ��ERR_LIB_HKDF��: δ�����ı�ʶ�� [C:\Users\46917\Desktop\items\mopo-  
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(52,1): error C2057: Ӧ���볣������ʽ [C:\Users\46917\Desktop\items\mopo-code\node_modules 
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(52,1): error C2466: ���ܷ��䳣����СΪ 0 ������ [C:\Users\46917\Desktop\items\mopo-code\no 
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(53,1): error C2118: ���±� [C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\  
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(54,1): error C2065: ��ERR_NUM_LIBS��: δ�����ı�ʶ�� [C:\Users\46917\Desktop\items\mopo-  
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(54,1): error C2057: Ӧ���볣������ʽ [C:\Users\46917\Desktop\items\mopo-code\node_modules 
│ C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\deps\grpc\src\boringssl\err_data.c(54,1): error C2466: ���ܷ��䳣����СΪ 0 ������ [C:\Users\46917\Desktop\items\mopo-code\no 
│   adler32.c
│   compress.c
│   crc32.c
│   deflate.c
│   gzclose.c
│   gzlib.c
│   gzread.c
│   gzwrite.c
│   infback.c
│   inffast.c
│   inflate.c
│   inftrees.c
│   trees.c
│   uncompr.c
│   zutil.c
│   win_delay_load_hook.cc
│   z.vcxproj -> C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc\build\Release\\libz.lib
│ gyp ERR! build error
│ gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin\MSBuild.exe` failed with exit code: 1
│ gyp ERR! stack     at ChildProcess.onExit (C:\Users\46917\AppData\Local\pnpm\global\5\.pnpm\pnpm@7.27.0\node_modules\pnpm\dist\node_modules\node-gyp\lib\build.js:203:23)
│ gyp ERR! stack     at ChildProcess.emit (node:events:513:28)
│ gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:291:12)
│ gyp ERR! System Windows_NT 10.0.22621
│ gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\46917\\AppData\\Local\\pnpm\\global\\5\\.pnpm\\pnpm@7.27.0\\node_modules\\pnpm\\dist\\node_modules\\node-gyp\\bin\\node-gyp.js" "build" "--fal  
│ gyp ERR! cwd C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc
│ gyp ERR! node -v v18.13.0
│ gyp ERR! node-gyp -v v9.3.1
│ gyp ERR! not ok
│ node-pre-gyp ERR! build error
│ node-pre-gyp ERR! stack Error: Failed to execute 'C:\Program Files\nodejs\node.exe C:\Users\46917\AppData\Local\pnpm\global\5\.pnpm\pnpm@7.27.0\node_modules\pnpm\dist\node_modules\node-gyp\bin\node-gyp.js buil  
│ node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\@mapbox+node-pre-gyp@1.0.10\node_modules\@mapbox\node-pre-gyp\lib\util\compile.js:89:23)        
│ node-pre-gyp ERR! stack     at ChildProcess.emit (node:events:513:28)
│ node-pre-gyp ERR! stack     at maybeClose (node:internal/child_process:1091:16)
│ node-pre-gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:302:5)
│ node-pre-gyp ERR! System Windows_NT 10.0.22621
│ node-pre-gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\46917\\Desktop\\items\\mopo-code\\node_modules\\.pnpm\\@mapbox+node-pre-gyp@1.0.10\\node_modules\\@mapbox\\node-pre-gyp\\bin\\node-pr  
│ node-pre-gyp ERR! cwd C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc
│ node-pre-gyp ERR! node -v v18.13.0
│ node-pre-gyp ERR! node-pre-gyp -v v1.0.10
│ node-pre-gyp ERR! not ok
│ Failed to execute 'C:\Program Files\nodejs\node.exe C:\Users\46917\AppData\Local\pnpm\global\5\.pnpm\pnpm@7.27.0\node_modules\pnpm\dist\node_modules\node-gyp\bin\node-gyp.js build --fallback-to-build --library  
└─ Failed in 2m 50.5s at C:\Users\46917\Desktop\items\mopo-code\node_modules\.pnpm\grpc@1.24.11\node_modules\grpc
 ELIFECYCLE  Command failed with exit code 1.

当然,这是解决了一上午之后最终版的报错,在之前还有一些其他问题我没截图,也就不记录了,当时看日志是要在电脑安装C语言环境,点击提示的链接进到官网,下载VS生成工具,安装环境就会编程上面那个报错。

image.png

image.png

这个报错的原因是node-pre-gyp的版本和node版本不兼容,需要回退node版本,我这里把版本退到了 14.7.1

nvm list 
nvm install 14.17.1 
nvm use 14.17.1

那么当前环境中没有nvm的小伙伴怎么办呢

去这个地址:github.com/coreybutler… 安装windows版本的nvm,或者去这个地址:nvm.sh 看官方文档

我的环境到这里就安装成功了,希望各位也能顺利解决问题

image.png