![](/img/trans.png)
[英]I installed Node-12 from source but can't get nodejs --version
[英]Can I remove the build dependencies installed when building NodeJS from Source (such as g++, gcc, libstdc++6, etc )?
我在 ubuntu-slim 圖像上從源代碼構建了 NodeJS。 當你這樣做時,它需要在過程中安裝大量 package,例如(例如。下面是 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 的構建后,我發現:
npm install
時,本機節點軟件包需要針對操作系統進行二進制編譯 - 例如 node-sass) - 這些並不常見,所以大多數使用Node 不需要這個。apk-get
軟件包就像使用apk-get purge
一樣簡單。 下面的示例(使用 shell 腳本在 Dockerfile 內構建節點)給出了一些細節。 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.js。apt-get clean
清除保留在 /var/cache 中的檢索到的 package 文件的本地存儲庫。apt-get autoremove
刪除自動安裝的軟件包,因為其他一些 package 需要它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.