我可以删除从源代码构建NodeJS时安装的构建依赖项吗(如g++、gcc、libstdc++6等)



我在ubuntu瘦镜像上从源代码构建了NodeJS。当你这样做的时候,它需要在这个过程中安装很多包,比如(例如。下面是Node16依赖项(

&& apt-get install --yes 
libstdc++6 
... 
...
&& apt-get install --yes 
binutils-gold 
g++ 
gcc 
gnupg 
libgcc-7-dev 
linux-headers-generic 
make 
python3 

一旦我完成了所有的安装和配置,我可以简单地删除这些构建依赖项吗这张照片长得很大,我需要尽可能多地清理脂肪。当然,我仍然希望NodeJS运行我的节点应用程序。

NodeJS 14也发生了同样的过程,我猜NodeJS 18也是如此。一旦构建了NodeJS,我们能删除这些构建依赖项吗?

在完成Node14的构建后,我发现:

  1. 是的,可以在节点完全完成后删除构建依赖项已安装。我在Ubuntu20操作系统平台上用安装Node14。需要注意的一点是,您正在使用Node无需安装本机软件包(本机节点软件包当包是npm installed时,需要针对操作系统进行二进制编译(例如node sass(-这些并不常见,因此大多数Node的使用不需要这样做
  2. 如何删除程序包。我发现卸载安装的apk-get软件包与使用apk-get purge。下面的示例(在Dockerfile中构建节点使用shell脚本(给出了一些细节
echo "Building from source" 
&& NODE_BUILD_PACKAGES="binutils-gold g++ gcc libgcc-7-dev linux-headers-generic make python3" 
&& apt-get install --yes ${NODE_BUILD_PACKAGES} 
...
...
[code to build node]
...
&& apt-get purge --yes ${NODE_BUILD_PACKAGES} 
&& apt-get clean 
&& apt-get autoremove --yes 

在从源代码构建Node之后,我使用了这三个命令来清除构建机器。为了清楚起见,以下是每个命令的作用:

  • 命令apt-get purge删除我安装的程序包我可以构建Node
  • 命令apt-get clean清除本地存储库中检索到的保留在/var/cache中的包文件
  • 命令apt-get autoremove删除自动安装,因为其他软件包需要它们

相关内容

  • 没有找到相关文章

最新更新