Lỗi GLIBCXX not found khi chạy nodejs

khi em run nodejs file.js thì bị lỗi như hình trên, em có search và ra 1 vài bài nhưng không được, ai đã gặp phải và fix được giúp em với ạ.

vps em centos 7 64bit, em đã cài nginx, php-fpm,mariadb, (php,mysql)

file service.js
image

file api.js

image

em chạy node api.js thì lỗi ạ . em chỉ đang tập convert php sang nodejs vì php châmj quá, ko biết code sai gì không, sau khi em install cái nodelib-curl chạy thì mới lỗi, còn ko dùng cái package đó thì ko sao ạ.

internal/modules/cjs/loader.js:1057
  return process.dlopen(module, path.toNamespacedPath(filename));
                 ^

Error: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /home/nodejs/bot/node_modules/node-libcurl/lib/binding/node_libcurl.node)
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:1057:18)
    at Module.load (internal/modules/cjs/loader.js:863:32)
    at Function.Module._load (internal/modules/cjs/loader.js:708:14)
    at Module.require (internal/modules/cjs/loader.js:887:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (/home/nodejs/bot/node_modules/node-libcurl/dist/Easy.js:5:18)
    at Module._compile (internal/modules/cjs/loader.js:999:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
    at Module.load (internal/modules/cjs/loader.js:863:32)
    at Function.Module._load (internal/modules/cjs/loader.js:708:14)
1 Like

thiếu thư viên thì cứ cài bổ sung vào thôi, lỗi đã báo quá rõ ràng rồi

3 Likes

Thử chạy cái này xem :kissing:

export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/local/lib64:/usr/lib64
2 Likes

em co thu lenh nay roi nhung van bi vay hic

cai nay vps em co san roi. e check /usr/lib64/libstdc++.so.6 file nay co ton tai. gcc --version cung co ah

code em de o /home/nodejs/bot/ lieu co fai do no check sai path khong nhi mn

Tiếc là mình xài ubuntu, cũng không bị như này nên cũng không có cách để debug được

1 Like

Dòng này có nghĩa là phiên bản libstdc++ trên máy của bạn cũ hơn phiên bản mà node-libcurl yêu cầu.
=> Bạn phải hoặc là upgrade libstdc++ lên phiên bản mới hơn, hoặc là hạ phiên bản node/node-libcurl bạn đang dùng xuống phiên bản cũ hơn.

5 Likes

thank mn nha, mới tập chơi với nodejs nên chưa bt gì, cái /lib64/libstdc++.so.6 nó là symlink đến 1 lib trong cùng thư mục, lib này version cũ hơn mà package kia require nên em lên tải lib đúng version mà nó yc rồi tạo lại symlink đến lib đấy ok rùi ạ, mà nó lại ra lỗi mới, debug tiếp hhiihi

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?