我在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的构建后,我发现:
-
是的,可以在节点完全完成后删除构建依赖项已安装。我在Ubuntu20操作系统平台上用安装Node14。需要注意的一点是,您正在使用Node无需安装本机软件包(本机节点软件包当包是
npm install
ed时,需要针对操作系统进行二进制编译(例如node sass(-这些并不常见,因此大多数Node的使用不需要这样做 -
如何删除程序包。我发现卸载安装的
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
删除自动安装,因为其他软件包需要它们