我有完全相同的错误,说
at bindings (/node_modules/pg-native/node_modules/libpq/node_modules/bindings/bindings.js:76:44)
这可能类似于:
Error: Module did not self-register.
但不同的是,我使用docker来构建图像,所以我不可能返回并删除node_modules并为每个容器再次执行npm install。
有更优雅的解决方案吗?
答案 0 :(得分:0)
Docker的一个优点是,升级图像和更换容器应该很容易。如果你有一堆Node应用程序都是从同一张图片开始的:
try {
File file = new File ("c:/new-file.txt");
if(file.createNewFile()) {
System.out.println("Successful created!");
}
else {
System.out.println("Failed to create!");
}
}
catch (IOException e) {
e.printStackTrace();
}
然后您只需要重建图像,他们将使用最新版本的Node基本图像(当前具有NPM FROM node
)。在非生产环境中,只需停止容器并从新映像运行新容器即可。在制作中,请查看rolling upgrades in swarm mode。
理想情况下,您应该致力于自动化工作流程,您可以在其中提交更改,构建新映像并替换正在运行的容器。你不应该对运行容器进行任何维护 - 它们应该是一次性的。
答案 1 :(得分:0)
当我运行docker-compose时,我收到了这个错误。另外,在我的docker-compose中,我正在安装当前文件夹。为解决此问题,我使用npm rebuild
重新构建了节点模块。