我可以删除从源代码构建 NodeJS 时安装的构建依赖项(例如 g++、gcc、libstdc++6 等)吗?
Can I remove the build dependencies installed when building NodeJS from Source (such as g++, gcc, libstdc++6, etc )?
我在 ubuntu-slim 图像上从源代码构建了 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 OS 平台上专门证明了这一点
安装 Node14。一个警告是您正在使用 Node
无需安装本机包(本机节点包
当包被
npm install
ed 时,需要针对 OS 进行二进制编译——例如 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
删除了
自动安装,因为其他一些软件包需要它们。
我在 ubuntu-slim 图像上从源代码构建了 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 OS 平台上专门证明了这一点
安装 Node14。一个警告是您正在使用 Node
无需安装本机包(本机节点包
当包被
npm install
ed 时,需要针对 OS 进行二进制编译——例如 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
删除了 自动安装,因为其他一些软件包需要它们。