npm 不要每次都安装模块

npm don't install module every time

问题是 npm install 每次都会重建并重新安装一个模块,即使该模块已经安装。

我制作了一个 .deb 包,其中安装了一个 nodejs 应用程序。

但是该应用程序需要 expresssqlite3 模块。我将它们安装在 .deb 的 postinst:

npm install -g express sqlite3

永远不要删除它。

所以,在.deb安装过程中sqlite3 js模块每次都会重新编译和重新安装。这在 Raspberry 上需要很长时间。

如何让它正常工作?

现在我要:

nodejs_modules="express sqlite3"
nodejs_modules_installed="$(npm list -g --depth=0)"

for m in $nodejs_modules; do
    if ! echo "$nodejs_modules_installed" | grep -q "\s$m"@; then
        npm install -g "$m"
    else
        npm update -g "$m"
    fi
done