ایجاد پروژه آیونیک در لینوکس علیرغم تحریمها

یکی از بزرگترین مشکلات برنامه نویسان ایرانی تحریم بسیاری از کتابخانه های حتی منبع باز و رایگان است. خوشبختانه سرویس دهنده هایی در حال حاضر وجود دارند که من به آنها تحریم شکن می گویم! این سرویس دهنده ها نه برای دسترسی به سایتهای فیلتر شده بلکه برای دسترسی به سایتهای تحریمی قابل استفاده اند.از جمله این تحریم شکنها می توان به https://vtwo.org اشاره کرد که بسیاری از وبسایتهای مهم مثل https://developer.android.com را پوشش میدهد.برای اطلاعات بیشتر در این مورد به پست آقای شیخ حسن به آدرس https://virgool.io/@amirsheikhhassan/android-without-sanctions-flwamjcm6ruw مراجعه کنیداما در مورد ionic مشکل عجیبی وجود دارد. شما می توانید این فریمورک را به راحتی بر روی سیستم خود نصب کنید(https://ionicframework.com/docs/intro/cli) اما هنگام ایجاد پروژه جدید با استفاده از دستور ionic start در مرحله Downloading and extracting خطا رخ میدهد.خطای اتصال به سرور آیونیک هنگام ایجاد پروژه جدید ظاهرا بخشی از مخزن(repository) این فریمورک برای آی پی های ایرانی تحریم است. خب یک راه حل استفاده از تحریم شکن است. خوشبختانه مدیر https://vtwo.org لطف فرمودند و به درخواست اینجانب https://ionicframework.com را نیز در لیست سایتهای تحت پوشش قرار دادند. اما چگونه در محیط لینوکس از توسعه پروژه های آیونیک لذت ببریم؟ من از روشی که در پی می آید بر روی سیستم عامل linux mint 19.3 استفاده کرده ام. اما قاعدتا این روش برای سایر توزیع های لینوکس نیز باید قابل استفاده باشد.پیش فرض ها:۱- شما از سیستم عامل لینوکس مینت یا اوبونتو استفاده می کنید(البته به احتمال زیاد با سایر توزیعهای لینوکس هم مشکلی نباید باشد)۲- شما آیونیک را بر روی سیستم خود نصب کرده اید. اگر اینطور نیست به https://ionicframework.com/docs/intro/cli مراجعه کنید.مراحل:۱- دانلود و نصب ProxyMan بر روی سیستم اگرچه می توانید بدون این بسته نیز به صورت دستی پروکسی ها را در ترمینال لینوکس تنظیم کنید اما استفاده از این برنامه کار شما را خیلی راحتتر و کم خطاتر می کند. برای نصب این برنامه ابتدا آنرا با اجرای دستور زیر در ترمینال :wget https://github.com/himanshub16/ProxyMan/archive/v3.1.2.zipو یا مستقیما از این آدرس دانلود کنید:https://github.com/himanshub16/ProxyMan/releases/سپس آنرا از حالت فشرده خارج کرده در پوشه مناسبی ذخیره کنید.حال به پوشه فوق رفته در داخل ترمینال دستور زیر را اجرا کنید تا برنامه به صورت عمومی(گلوبال) بر روی سیستمتان نصب شود و بتوانید آنرا در هر ترمینال و پوشه ای که دوست دارید اجرا کنید. خروجی این دستور باید: Installed successfully باشد../install۲- اجرای proxyman: حالا که پروکسی من را نصب کرده اید برای استفاده از آن ترمینال را باز کنید و دستور زیر را اجرا کنید: proxyman setو طبق تصویر ادامه دهید:تنظیم پروکسی سیستم با استفاده از proxymanبه این بخش از دستورات دقت کنید:Save profile for later use (y/n)? y Enter profile name : vtwo-proxySaved to /home/tabibi/.config/proxyman/vtwo-proxy.من در اینجا از proxyman خواسته ام که تنظیمات وارد شده را در یک پروفایل با نام vtwo-proxy ذخیره کند(شما هر نام دیگری که دوست داشتید می توانید برایش بگذارید). با اینکار دفعه بعد که میخواهیم از این پروکسی استفاده کنیم لازم نیست که دوباره این دستورات را بنویسیم و کافی است صرفا بنویسیم:proxyman load vtwo-proxyسپس برای فعال کردن پروکسی در ترمینال جاری:source ~/.bashrc۳- تست اتصال به پروکسی:به اینترنت سیستم خود(مثلا گوگل کروم) رفته و ببینید یکی از سایتهای تحریمی به عنوان مثال (https://developer.android.com) باز میشود یا خیر؟۴- ایجاد پروژه آیونیک:در حالیکه به اتصال پروکسی مطمین هستید دستور زیر را در یک مسیر مناسب اجرا کنید تا یک پروژه ی آیونیک ساخته شود:ionic start مشکل آیونیک حل شد اما npm خطا می دهد!دستورات را دنبال کنیدهمانطور که خواهید دید اینبار در مرحله npm i خطا خواهیم داشت. علت آن است که سرور npm تحت پشتیبانی تحریم شکن ما نیست و این منطقی است چون npm هنوز! ما را تحریم نکرده است. برای رفع مشکل Ctrl+C را فشار دهید تا npm i متوقف شود. حالا باید پروکسی را غیر فعال کنیم:proxyman unsetفراموش نکنید دوباره دستور:source ~/.bashrcرا اجرا کنید.حالا باید npm i را اجرا کنید اما ابتدا لازم است وارد پوشه پروژه تان شوید. نام پروژه من test است:cd testnpm iاگر خطایی اتفاق افتاد ترمینال را ببندید و دوباره باز کنید و دستور npm i را اجرا کنید.۵- تمام!حالا می توانید با دستور ionic serve پروژه خود را اجرا کنید:امیدوارم این پست برای شما مفید بوده باشد.