Docker编写libstdc ++。so.6找不到GLIBCXX_3.4.21

当我在我的节点目录中运行docker-compose up ,我得到了

 /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /app/node_modules/bcrypt/lib/binding/bcrypt_lib.node) 

但是我肯定有这样的贪婪:

 strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX_3.4.2 GLIBCXX_3.4.2 GLIBCXX_3.4.20 GLIBCXX_3.4.21 GLIBCXX_3.4.22 

我试过了

 sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade 

按照https://askubuntu.com/questions/164296/glibcxx-3-4-15-not-found,但我得到同样的错误。 我不知道如何解决这个问题,无法在其他地方find解决scheme。

这是在Ubuntu 16.04,如果重要的话。

npm上的一些节点插件使用node-pre-gyp来提供下载预编译的addon二进制文件的function,这样就不需要安装编译器来使用它(主要在Windows上很有用,在Windows中通常更难以获得build立环境设置)。

对于这些types的插件,可以指定一个--build-from-source命令行选项来告诉node-pre-gyp始终在本地编译,而不是下载预编译的插件二进制文件之一。

通过安装带有此标志的插件,可以避免在使用不同glibc ABI的较旧/较新机器上编译预编译的插件二进制文件时出现此类错误。