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

یکی از بزرگترین مشکلات برنامه نویسان ایرانی تحریم بسیاری از کتابخانه های حتی منبع باز و رایگان است. خوشبختانه سرویس دهنده هایی در حال حاضر وجود دارند که من به آنها تحریم شکن می گویم! این سرویس دهنده ها نه برای دسترسی به سایتهای فیلتر شده بلکه برای دسترسی به سایتهای تحریمی قابل استفاده اند.

از جمله این تحریم شکنها می توان به 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
تنظیم پروکسی سیستم با استفاده از proxyman

به این بخش از دستورات دقت کنید:

Save profile for later use (y/n)? y
 Enter profile name  : vtwo-proxy
Saved to /home/tabibi/.config/proxyman/vtwo-proxy.

من در اینجا از proxyman خواسته ام که تنظیمات وارد شده را در یک پروفایل با نام vtwo-proxy ذخیره کند(شما هر نام دیگری که دوست داشتید می توانید برایش بگذارید). با اینکار دفعه بعد که میخواهیم از این پروکسی استفاده کنیم لازم نیست که دوباره این دستورات را بنویسیم و کافی است صرفا بنویسیم:

proxyman load vtwo-proxy

سپس برای فعال کردن پروکسی در ترمینال جاری:

source ~/.bashrc


۳- تست اتصال به پروکسی:

به اینترنت سیستم خود(مثلا گوگل کروم) رفته و ببینید یکی از سایتهای تحریمی به عنوان مثال (https://developer.android.com) باز میشود یا خیر؟

۴- ایجاد پروژه آیونیک:

در حالیکه به اتصال پروکسی مطمین هستید دستور زیر را در یک مسیر مناسب اجرا کنید تا یک پروژه ی آیونیک ساخته شود:

ionic start

مشکل آیونیک حل شد اما npm خطا می دهد!
مشکل آیونیک حل شد اما npm خطا می دهد!

دستورات را دنبال کنید

همانطور که خواهید دید اینبار در مرحله npm i خطا خواهیم داشت. علت آن است که سرور npm تحت پشتیبانی تحریم شکن ما نیست و این منطقی است چون npm هنوز! ما را تحریم نکرده است. برای رفع مشکل Ctrl+C را فشار دهید تا npm i متوقف شود. حالا باید پروکسی را غیر فعال کنیم:

proxyman unset


فراموش نکنید دوباره دستور:

source ~/.bashrc

را اجرا کنید.

حالا باید npm i را اجرا کنید اما ابتدا لازم است وارد پوشه پروژه تان شوید. نام پروژه من test است:

cd test
npm i

اگر خطایی اتفاق افتاد ترمینال را ببندید و دوباره باز کنید و دستور npm i را اجرا کنید.

۵- تمام!

حالا می توانید با دستور ionic serve پروژه خود را اجرا کنید:


امیدوارم این پست برای شما مفید بوده باشد.