npm或pip部署环境报错可能是由于未安装g++

部署环境时出现异常一直是比较闹心的事情,更闹心的是网上的解决办法不生效。

现象

npm的报错

安装npm的环境

安装命令

npm install

报错信息

make: g++: 没有那个文件或目录
### 省略的信息
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:376:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)
### 省略的信息
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! grpc@1.24.2 install: `node-pre-gyp install --fallback-to-build --library=static_library`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the grpc@1.24.2 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

我们通常会关注ERR日志,但很遗憾,这些日志反而导致排查方向错误。实际上,关键的信息并不在这里。
关键在第一行make打印的日志,由于这不是npm打印的信息,没有ERR标识,所以容易被忽略。

pip报错

安装命令

比如使用pip安装依赖时。也有类似的问题

pip install xxxx

报错信息

unable to execute 'gcc': No such file or directory
error: command 'gcc' failed with exit status 1

相对npm,pip安装时打印的日志较少,相对容易发现是gcc的问题。

异常分析

报错信息

因此,如果在使用某种语言的包管理安装环境失败,怎么都找不到原因,可以尝试看看有无类似信息

make: g++: 没有那个文件或目录
make: g++: No such file or directory
unable to execute gcc: No such file or directory

这类报错信息表明,在安装包的过程中,有步骤使用编译安装,在g++编译时失败,因为g++未安装

解决办法

办法也很简单,安装下g++即可。gcc报错类似。

yum install gcc-c++

疑问

为什么使用yum时没有碰到这种情况?

  1. yum大多不是采用编译的方法安装,打包编译后的文件。
  2. yum所需依赖可自行解决。

总结

  1. 注意外部调用的错误日志,它们可能没有Error或高亮标识。
  2. 关键报错信息可能在出现Error标识之前的日志信中。
© 版权声明
THE END
广告
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情

    暂无评论内容