ایجاد پروژه آیونیک در لینوکس علیرغم تحریمها
یکی از بزرگترین مشکلات برنامه نویسان ایرانی تحریم بسیاری از کتابخانه های حتی منبع باز و رایگان است. خوشبختانه سرویس دهنده هایی در حال حاضر وجود دارند که من به آنها تحریم شکن می گویم! این سرویس دهنده ها نه برای دسترسی به سایتهای فیلتر شده بلکه برای دسترسی به سایتهای تحریمی قابل استفاده اند.
از جمله این تحریم شکنها می توان به 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
و طبق تصویر ادامه دهید:
به این بخش از دستورات دقت کنید:
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 i خطا خواهیم داشت. علت آن است که سرور npm تحت پشتیبانی تحریم شکن ما نیست و این منطقی است چون npm هنوز! ما را تحریم نکرده است. برای رفع مشکل Ctrl+C را فشار دهید تا npm i متوقف شود. حالا باید پروکسی را غیر فعال کنیم:
proxyman unset
فراموش نکنید دوباره دستور:
source ~/.bashrc
را اجرا کنید.
حالا باید npm i را اجرا کنید اما ابتدا لازم است وارد پوشه پروژه تان شوید. نام پروژه من test است:
cd test
npm i
اگر خطایی اتفاق افتاد ترمینال را ببندید و دوباره باز کنید و دستور npm i را اجرا کنید.
۵- تمام!
حالا می توانید با دستور ionic serve پروژه خود را اجرا کنید:
امیدوارم این پست برای شما مفید بوده باشد.
مطلبی دیگر از این انتشارات
تست نفوذ با پایتون — چگونه باید با پایتون تست نفوذ گرفت؟
مطلبی دیگر از این انتشارات
تجربه ى 4 سال و 20 ميليونى من
مطلبی دیگر از این انتشارات
awesome javascript reference