node-18-error-digital-envelope-routines-unsupported - 789bey

/imgposts/rewfsdwz.jpg

Khi cài đặt môi trường phát triển Ant Design Pro trên hệ VSBET thống WSL Ubuntu mới (tham khảo: Hướng dẫn cài đặt và thiết lập môi trường phát triển Ant Design Pro V5), tôi đã gặp lỗi sau:

node:internal/crypto/hash:69
this[kHandle] = new _Hash(algorithm, xofLen);
Error: error:0308010C:digital envelope routines::unsupported

Node.js v18.19.1

Trước khi chạy lệnh yarn start:dev, bạn cần thiết lập biến môi trường như sau:

export NODE_OPTIONS=--openssl-legacy-provider

Sau khi thiết lập biến môi trường này, bạn có thể tiếp tục thực hiện các lệnh khác mà không gặp vấn đề gì. Để quản lý dễ dàng hơn, bạn có thể thêm dòng lệnh này vào tệp cấu hình của trình quản lý package hoặc file cấu hình liên quan.

Trước đây, môi trường phát triển của tôi sử dụng phiên bản Node 16 và không hề gặp lỗi này. Tuy nhiên, vì tôi không muốn hạ cấp phiên 789bey bản Node xuống thấp hơn, nên cách giải quyết trên là lựa chọn tối ưu nhất trong trường hợp này.

Nếu bạn thường xuyên làm việc với nhiều dự án yêu cầu các phiên bản Node khác nhau, bạn có thể cân nhắc sử dụng công cụ như nvm (Node Version Manager) để chuyển đổi giữa các phiên bản một cách linh hoạt. Điều này giúp tránh các xung đột tiềm năng và đảm bảo rằng mỗi dự án đều chạy đúng phiên bản Node phù hợp.

Thêm nữa, nếu bạn muốn khắc phục triệt để thay vì chỉ tạm thời thông qua biến môi trường, bạn có thể thử cập nhật mã nguồn của dự án hoặc kiểm tra xem liệu có bản cập nhật nào dành cho thư viện liên quan đến lỗi này hay không.