在我将我的应用程序克隆到EC2并使用以下命令运行它之后:
nohup nodejs app.js &
我收到以下错误:
[Error: /home/ubuntu/bluesky-scheduler2/node_modules/agenda/node_modules/mongodb/node_modules/bson/build/Release/bson.node: invalid ELF header]
js-bson: Failed to load c++ bson extension, using pure JS version
[Error: /home/ubuntu/bluesky-scheduler2/node_modules/mongodb/node_modules/bson/build/Release/bson.node: invalid ELF header]
js-bson: Failed to load c++ bson extension, using pure JS version
任何想法我该如何解决这个问题?
答案 0 :(得分:1)
我有同样的问题。无效的ELF标头意味着系统无法加载或执行的二进制文件。所以我试着建立bson。
转到bson模块的根目录。
例如就我而言:mongodb/node_modules/bson
然后执行make
tldr;
$ cd /home/ubuntu/bluesky-scheduler2/node_modules/agenda/node_modules/mongodb/node_modules/bson/
$ make
答案 1 :(得分:0)
当我在Windows机器上开发后无意中在git中提交了node_modules/mongodb
文件夹时,发生了这种情况。大多数节点模块都是通用的javascript,可以在windows或linux上运行,但是mongodb具有特定于nodemodules/mongodb
文件夹中操作系统的二进制文件。将代码部署到linux会将windows二进制文件推送到linux,因此会出错。
解决方案是删除linux服务器上的npm install
目录,然后运行public void draw(ShapeRenderer sRenderer) {
sRenderer.begin(ShapeType.Filled);
sRenderer.setColor(1.0f, 0.0f, 0.0f, 0.0f);
sRenderer.identity();
sRenderer.translate(1.0f, 1.0f, 0);
sRenderer.rotate(0.0f, 0.0f, 1.0f, (float) Math.toDegrees(getBody().getAngle()));
sRenderer.circle(0.0f, 0.0f, 1.0f);
sRenderer.end();
}
从linux环境安装mongodb dependancies。