مرکز آموزش میهن وب هاست

مرکز آموزش میهن وب هاست

رفع خطای error:0308010c:digital envelope routines::unsupported در پروژه های جنگو

پرینت این مقاله پرینت این مقاله

ممکن است هنگام راه اندازی پروژه Node.js و React با خطای "error:0308010c:digital envelope routines::unsupported" در ترمینال مواجه شوید. این ارور معمولاً زمانی رخ می دهد که مشکلی در OpenSSL و الگوریتم های رمزنگاری مورد استفاده توسط Node.js وجود داشته باشد. به صورت کلی مشکل مذکور اغلب به ناسازگاری بین نسخه Node.js و نسخه OpenSSL نصب‌شده روی سیستم اشاره دارد. 

در ادامه اقدامات لازم جهت رفع خطای فوق توضیح داده خواهد شد: 

1- تغییر نسخه Node.js:

این خطا ممکن است به دلیل نسخه Node.js مورد استفاده شما باشد. از همین رو می توانید نسخه های دیگر Node.js را تست نمایید. جهت تغییر نسخه Node.js، پس از وارد شدن به سی پنل از بخش "Software" منوی "Setup Node.js App" را انتخاب کنید.

تصویر(1)

در بخش "Web applications" روی گزینه مداد، روبروی نام پروژه خود کلیک نمایید. (تصویر2)

تصویر(2)

همانند تصویر3، روی ورژن فعلی (شماره1) کلیک کنید تا نسخه های متفاوت Node.js را به شما نمایش دهد.

یکی از نسخه های Node.js (شماره2) را انتخاب و سپس روی "SAVE" کلیک کنید تا تغییرات ذخیره گردد (شماره3). پس از تغییر نسخه، یک بار دیگر برنامه را "RESTART" (شماره4) و نتیجه را بررسی نمایید. 

تصویر(3)

2- افزودن متغیر محیطی در سی پنل

همانند توضیحات قبل، در سی پنل با انتخاب Web applications از منوی Setup Node.js App، بخش مربوط به ویرایش پروژه خود را باز کنید. 

 سپس در قسمت "Environment variables" روی "ADD VARIABLE" کلیک نمایید. (تصویر4)

تصویر(4)

فیلدها را همانند تصویر5 با مقادیر زیر تکمیل نمایید و روی "DONE" کلیک کنید. 

Name(بخش1) : NODE_OPTIONS 

Value(بخش2) : --openssl-legacy-provider

تصویر(5)

سپس مجدد برنامه را "RESTART" و نتیجه را بررسی نمایید. (تصویر6)

تصویر(6)

3- افزودن کد به package.json

در سی پنل به مسیر پروژه خود در File Manager بروید. روی فایل "package.json" راست کلیک کرده و سپس "Edit" را انتخاب نمایید. (تصویر 7)

تصویر(7)
ابتدا در فایل package.json به دنبال قطعه کد زیر باشید:
"start": "react-scripts start",
"build": "react-scripts build",
سپس آنها را با کد های زیر جایگزین نمایید:
"start": "react-scripts --openssl-legacy-provider start",

"build": "react-scripts --openssl-legacy-provider build",

مجدد به صفحه ویرایش پروژه خود بروید و یک بار آن را "RESTART" و نتیجه را مشاهده نمایید.

4- نصب مجدد وابستگی ها

خطا ممکن است به دلیل عدم نصب صحیح برخی از پکیج ها و نیازمندی ها رخ داده باشد. در این حالت حذف و ایجاد مجدد پوشه "node_modules" در پروژه می تواند باعث رفع خطا گردد. 

در صفحه ویرایش پروژه، روی عبارت مشخص شده در تصویر8 کلیک نمایید تا عبارت به صورت خودکار کپی گردد.

تصویر(8)

سپس به صفحه اول سی پنل بازگردید و از قسمت "Advanced" وارد منوی "Terminal" شوید.

تصویر(9)

ابتدا کد کپی شده را در "Terminal" وارد نمایید و "ENTER"بزنید تا ورود به مسیر پروژه انجام شود. 

تصویر(10)

سپس قطعه کد زیر را جهت حذف node_modules در "Terminal" اجرا نمایید. 

rm node_modules

پس از حذف node_modules، کد زیر را جهت نصب مجدد نیازمندی ها در "Terminal" وارد کنید. 

npm install

نهایتا در بخش "Setup Node.js App" مجدد پروژه را "RESTART"و نتیجه را بررسی کنید.

5/5 از 1 رای