আমি কীভাবে আমার ভিএস কোড টার্মিনালের জন্য উইন্ডোজ (ডাব্লুএসএল) এর উবুন্টুতে ব্যাশ ব্যবহার করব?


88

যদিও অন্যান্য প্রশ্নগুলি গিট-ব্যাশের মতো জিনিসগুলি কীভাবে ব্যবহার করতে পারে তা নিয়ে আলোচনা করে , ভিএস কোডের টার্মিনাল হিসাবে নতুন ডাব্লুএসএলকে স্পিন দেওয়া একই নয়: এটি আপনাকে গিট- এর পরিবর্তে প্রকৃত উবুন্টু লিনাক্স সাবসিস্টেমটিতে চলমান বাশকে অ্যাক্সেস দেয় gives উইন্ডোজ সাবসিস্টেমে চলমান বাশ টার্মিনাল।

সুতরাং আমরা কীভাবে এটি ভিএস কোড টার্মিনাল হিসাবে কাজ করব এবং বিশেষত আমরা কীভাবে এটি কার্যক্ষম দেব পরিবেশ টার্মিনাল হিসাবে কাজ করব?

গিট-ব্যাশের বিপরীতে, এটি দুর্ভাগ্যক্রমে এতটা সহজ নয়, কারণ ডাব্লুএসএল-তে উবুন্টু লিনাক্স কনফিগারেশন কিছু গটচ সরবরাহ করতে পারে যেমন ডাব্লুএসএল এবং উইন্ডোজের মধ্যে মিথস্ক্রিয়তার কারণে উইন্ডোজ প্রোগ্রাম ফাইল ডিরেক্টরি থেকে এনপিএম চালানোর চেষ্টা করছে (এবং ব্যর্থ)) পাথিংয়ের শর্তাবলী এবং কিছু প্যাকেজ যেমন লিনাক্সে বিকাশের জন্য অভ্যস্ত না এমন ব্যক্তির পক্ষে তাত্ক্ষণিকভাবে সুস্পষ্ট কারণের জন্য কমপাস ব্যর্থ হয়েছে। ভিএস কোডের জন্য একটি নির্ভরযোগ্য ডাব্লুএসএল টার্মিনাল পরিবেশনের সহজ উপায় কী যেখানে apt-getবা মাধ্যমে ইনস্টল করা হলে প্রায়শই ব্যবহৃত সরঞ্জামগুলি চলবে npm?

উত্তর:


185

এই উত্তরটি ভিএস কোডে টার্মিনালের জন্য ডাব্লুএসএল ব্যবহার করার সময় অন্যদের 1-2 ঘন্টা ব্যয় করা এড়াতে এবং ধীরে ধীরে সাধারণ সমস্যার জন্য পৃথক সমাধানগুলি খুঁজে পেতে সহায়তা করে। এটি নির্দিষ্ট প্যাকেজগুলি ইনস্টল করার জন্য কভার করে না, বরং এমন সাধারণগুলি যা উপস্থিতিগুলিতে নির্ভর করে এমন জিনিসগুলি ইনস্টল করার সময় নির্ভরতা হিসাবে সঠিকভাবে ইনস্টল করতে পারে না এবং সম্পর্কিত সাধারণ সেটিংস ঠিক করার ক্ষেত্রে।

পদক্ষেপের সংক্ষিপ্তসার

  • ডাব্লুএসএল ইনস্টল করা হয়েছে
  • টার্মিনালের জন্য কনফিগার করা ভিএস কোড (বা অন্যান্য আইডিই)
  • এনপিএম ইনস্টল করে এবং প্রোফাইলে পাথ ফিক্স করে (অন্যান্য সরঞ্জামগুলির সাহায্যে সহায়তা করতে পারে)
  • বিল্ড-অপরিহার্য ইনস্টল (কোনও সরঞ্জাম যা মেক / জিসিসি / ইত্যাদি ব্যবহার করে তার সাথে সহায়তা করে)
  • ডাব্লুএসএল ব্যবহার করে ভিএস কোড টাস্ক
  • অতিরিক্ত

শুরু করা এবং প্রয়োজনীয়তা

  • আপনার অবশ্যই ডাব্লুএসএল ইনস্টল থাকা উচিত । (যার অর্থ আপনার যথাযথ আপডেটগুলি সহ 64৪ বিট উইন্ডোজ 10 চালানো উচিত ) ইতিমধ্যে ইনস্টল না থাকলে ইনস্টল গাইডটি অনুসরণ করুন । এর জন্য কিছু রিবুট লাগবে।

ভিএস কোড টার্মিনাল কনফিগারেশন

হয় CTRL+ ,কীবোর্ড শর্টকাট বা FilePreferences→ →Settings

করুন: সম্পাদনা উইন্ডোর উপরে ডানদিকে, নিশ্চিত করুন যে আপনি আপনার জন্য সঠিক প্রেক্ষাপটে কাজ করছে করতে ব্যবহারকারী সেটিংস বা কর্মস্থান সেটিং

এখানে চিত্র বর্ণনা লিখুন

সেটিংস অনুসন্ধান বারে, টাইপ করুন terminal.integrated.shell.windows(বা যা কিছু আপনাকে যথেষ্ট দীর্ঘায়িত করে)

প্রকৃত সেটিংস ফাইলে সেটিংসটি সন্ধান করুন, ব্যবহার করুন Edit(লাইনটির উপরে মাউস, এটি বাম দিকে থাকবে: মাউস ছাড়াই একটি টাচ স্ক্রিনে, আপনি কেবল লাইনের বাম দিকে ট্যাপ করতে সক্ষম হন), এবং নির্বাচন করুনReplace in Settings

এখানে চিত্র বর্ণনা লিখুন

ডান ফলকে, পরিবর্তিত জসন ফাইলে তৈরি এন্ট্রিটি পরিবর্তন করুন: এর সাথে পূর্ববর্তী সেটিংসটি প্রতিস্থাপন করুন

"C:\\WINDOWS\\Sysnative\\bash.exe"

এখানে চিত্র বর্ণনা লিখুন

অন্যান্য আইডিই: ইন্টেলিজিজ

সেটিংস / সরঞ্জাম / টার্মিনাল খুলুন এবং "শেল পথ" ক্ষেত্রটি এতে সেট করুন "C:\Users\USERNAME\AppData\Local\Microsoft\WindowsApps\ubuntu.exe"

আপনার ডাব্লুএসএল উবুন্টু বাশ টার্মিনালটি দেবের জন্য কার্যক্ষম করে তোলা

আপনি যখন টার্মিনালটি খোলার জন্য CTRL+ ব্যবহার করেন `, আপনার এখন বাশ টার্মিনাল থাকা উচিত।

আপনি যদি প্রথমবার bash.exe চালিয়ে যান তবে আপনাকে উবুন্টু ইনস্টল করার বিষয়ে জিজ্ঞাসা করা যেতে পারে। তাই করো. আপনার ইনস্টলেশনটি সম্পূর্ণ হয়ে গেলে, ডাব্লুএসএল উবুন্টুতে আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ডটি বেছে নিন। এগুলিকে আপনার বর্তমান উইন্ডোজ অ্যাকাউন্টের সাথে একযোগ করতে হবে না এবং এটি গুরুত্বপূর্ণ যে আপনার উইন্ডোজ অ্যাকাউন্টের পাসওয়ার্ডের পরিবর্তনের ভিত্তিতে সেগুলি পরিবর্তন হবে না note

আপনার কাজটি শেষ হয়ে গেলে, আপনার টার্মিনালে আপনার কাছে একটি কমান্ড প্রম্পট থাকবে।এখানে চিত্র বর্ণনা লিখুন

মনে রাখবেন যে উইন্ডোজে গিট-ব্যাশের বিপরীতে এটি পৃথক পরিবেশ। এটি ব্যবহার করা যাবে না লঞ্চ নিজেই উইন্ডোস সফ্টওয়্যার বাইরে আপনার যা দরকার তাদের প্রকৃত টার্মিনাল মধ্যে চালানোর জন্য উবুন্টু প্যাকেজসমূহ যথাযথ হবে।

বর্তমানে, ডাব্লুএসএল আপনার প্রত্যাশিত বা অভ্যস্ত হতে পারে এমন সমস্ত কিছুতে বোঝা আসে না এবং ডিফল্ট প্রোফাইল সেটিংসের ভিত্তিতে উইন্ডোতে লোড করা সফ্টওয়্যারটির সাথে কিছু জিনিস বিরোধ করতে পারে।

আপডেট এবং গিট

দ্রষ্টব্য: আমি এগুলি সুডো হিসাবে ডকুমেন্ট করতে যাচ্ছি যার জন্য কেবল এটির একক টুকরোগুলি প্রয়োজন, তবে শুরুতে একটি বিকল্পের পরিবর্তে sudo suএবং কেবল সুডো ছাড়াই নিম্নলিখিত কমান্ডগুলি চালানো হয়।

আপনার উবুন্টু প্যাকেজগুলি আপ টু ডেট রয়েছে তা নিশ্চিত করুন :

sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt-get -y dist-upgrade
sudo apt autoremove

গিট ইনস্টল করুন:

sudo apt-get install git

নোড.জেএস এবং এনপিএম

আপনার যদি ইতিমধ্যে উইন্ডোজে নোড বা এনপিএম লোড থাকে তবে উবুন্টুতে এগুলি চালনা পথের সমস্যার কারণে সমস্যাযুক্ত হতে পারে। সুতরাং, আপনাকে উবুন্টু নেটিভ সংস্করণগুলি ইনস্টল করতে হবে এবং তার পরিবর্তে সেগুলি ব্যবহার করা হবে তা নিশ্চিত করতে হবে।

প্রথমে এনপিএম দিয়ে নোড.জেএস ইনস্টল করুন । (বিকল্প: এনভিএম ইনস্টল করুন এবং নোড.জেএস ইনস্টল করতে এটি ব্যবহার করুন)

ইনস্টল করার পরে, এনএমপি কমান্ডগুলি চালানো সম্ভবত ব্যর্থ হবে: উদাহরণস্বরূপ, npm -vসম্ভবত আপনাকে দেবে:

: not foundram Files/nodejs/npm: 3: /mnt/c/Program Files/nodejs/npm:
: not foundram Files/nodejs/npm: 5: /mnt/c/Program Files/nodejs/npm:
/mnt/c/Program Files/nodejs/npm: 6: /mnt/c/Program Files/nodejs/npm: Syntax error: word unexpected (expecting "in")

এটি মোটামুটি সোজা সমাধান সহ কোনও পথনির্দেশ সমস্যার কারণে । আপনার প্রিয় CLI সম্পাদক ব্যবহার করে (যেমন nano, vim, emacs, catএবং sed... ইত্যাদি), ওপেন আপনার~/.profile

nano ~/.profile

দ্রষ্টব্য: উইন্ডোজ সরঞ্জাম ব্যবহার করে লিনাক্স ফাইলগুলি সম্পাদনা করার চেষ্টা করবেন না( এটি ব্যাখ্যা করে গা bold় লাল পাঠ্যের সাথে অফিসিয়াল লিঙ্কের জন্য @ ডেভিড-সি-রাকিনের মন্তব্যের জন্য ধন্যবাদ ) আপনি যদি টার্মিনালে এটির জন্য কোনও সিএলআই সম্পাদক ব্যবহার করতে না চান তবে কীভাবে এই লিঙ্কের জন্য এই পোস্টের নীচে দেখুন একটি GUI চলমান পেতে।

বর্তমানে, ডাব্লুএসএল-এ ডিফল্ট ব্যাশ PATH পরিবর্তনশীল

PATH="$HOME/bin:$HOME/.local/bin:$PATH"

যা প্রথম দুটি বাইনারি ডিরেক্টরি পরে উইন্ডোজ পাথ ইনজেকশন দিচ্ছে। দুর্ভাগ্যক্রমে, এর ফলে উইন্ডোজ এনএমপি ইনস্টল করার আগে / ইউএসআর / বিন ব্যবহার করা হবে না, সুতরাং চূড়ান্ত before প্যাথ এর আগে এটি যুক্ত করুন:

PATH="$HOME/bin:$HOME/.local/bin:/usr/bin:$PATH"

সংরক্ষণ করুন, এবং তারপরে হয় টার্মিনালটি পুনরায় লোড করুন বা পাথ ফাইলের উত্স করুন

source ~/.profile

বিল্ড-অপরিহার্য

আপনি যদি এমন কোনও কিছু ব্যবহার করছেন যা সংকলনের প্রয়োজন হয় বা অন্যথায় মেক ব্যবহার করে, এটি প্রায় গ্যারান্টিযুক্ত যে আপনার এটি ইনস্টল করা প্রয়োজন হবে; সুতরাং আপনি যদি নোড.জেএস ইনস্টল করার সময় সেগুলি ইনস্টল না করে থাকেন তবে তা করুন। সবকিছু পৃথকভাবে ইনস্টল করার চেষ্টা না করে কেবল বিল্ড-প্রয়োজনীয় প্যাকেজটি ব্যবহার করা আরও সহজ ।

নোট করুন যে কম্বাসের মতো প্যাকেজগুলি যা রুবি এফএফআইয়ের উপর নির্ভর করে সেগুলি ব্যর্থ হবে। আপনি যদি কোনও সরঞ্জাম সঠিকভাবে ইনস্টল করতে এবং চালাতে সমস্যায় পড়ে থাকেন তবে আপনার জিসিসি রয়েছে এবং তা ইনস্টল করা নিশ্চিত করা শুরু করার জন্য ভাল জায়গা হতে পারে।

sudo apt-get install -y build-essential

উবুন্টু ব্যবহার করে টাস্ক চালানো

মনে রাখবেন যে আপনি যদি বিল্ড টাস্কগুলি চালানোর জন্য ভিএস কোডের টাস্কস.জসন ব্যবহার করেন তবে ডিফল্টরূপে এটি উবুন্টুর পরিবর্তে উইন্ডোজ সাবসিস্টেম ব্যবহার করে এগুলি চালিত করবে। কখনও কখনও এটি আপনি যা চান তা হতে পারে তবে আপনি যদি উইন্ডো নয় কেবল উবুন্টুতে গ্রান্ট-ক্লাইপ ইনস্টল করা শেষ করেন তবে এটি সম্ভবত তা নয়।

টাস্কগুলি কীভাবে কাজ করে তা টার্মিনাল হিসাবে টাস্ক রানার সেট করার অনুমতি দেয়ায় সম্প্রতি ভিএস কোডের 2017 মে আপডেট ছিল । এটি এখন পর্যন্ত কাজগুলি স্থানান্তরিত করার সবচেয়ে সহজ উপায়।

সহজভাবে সেট

"runner": "terminal",

আপনার tasks.jsonএবং আপনি হয়ে গেছেন (ধরে নিই যে আপনি এখন ডাব্লুএসএল উবুন্টুতে ইনস্টল করার জন্য উপযুক্ত সরঞ্জামাদি ব্যবহার করছেন))এখানে চিত্র বর্ণনা লিখুন

এটি অত্যন্ত পোর্টেবল, আদর্শভাবে ডাব্লুএসএল বা অন্যান্য ওএসগুলিতে নেই এমন সিস্টেমগুলির মধ্যে কোনও পরিবর্তনের প্রয়োজন নেই এবং আমি প্রস্তাবিত পদ্ধতিটি।

মুহূর্ত হিসাবে, এই পদ্ধতিটি অন্য একটি TERMINALট্যাব উদাহরণ তৈরি করেছে (ড্রপ ডাউন থেকে অ্যাক্সেস করা হয়েছে)। আপনি এখনও উপযুক্ত পর্যবেক্ষক সেট আপ করতে পারেন, তবে এর অর্থ এই যে এটি আর OUTPUTট্যাবে বসে নেই ।

পুরাতন পদ্ধতিটি ডাব্লুএসএল উবুনুতু বাশ শেলটি চালিত করতে এবং এটি প্রদর্শিত হতে সক্ষম এবং এতে OUTPUTবাশ.এক্সি-কে আর্গুমেন্ট সহ কল ​​করা বা শেল স্ক্রিপ্ট ব্যবহার করা জড়িত। দুর্ভাগ্যক্রমে এটি সিন্থেটিক নয়, যেহেতু আমরা bashআমাদের কমান্ড তৈরি করছি এবং পরিবর্তে আমরা কী আর্গুমেন্ট হিসাবে চালাতে চাই তা এটি পাস করছি। এর অর্থ এটি অন্যান্য সিস্টেমে পোর্টেবল তত দ্রুত নয়।

আপনি আগে C:\\WINDOWS\\Sysnative\\bash.exeযেমন টার্মিনালের জন্য ভিএস কোড দিয়েছিলেন ঠিক একই অবস্থানটি ব্যবহার করতে পারেন, এর মান হিসাবেcommandএখানে চিত্র বর্ণনা লিখুন

argsঅ্যারের প্রথম উপাদানটি -cএবং দ্বিতীয়টি আপনি যে কমান্ডটি চালাতে চান সেটি সেট করুন ( এই উত্তরের দ্বিতীয়ার্ধে creditণ )।

বিকল্পভাবে, আপনি এখানে পরিবর্তে একটি শেল স্ক্রিপ্ট চালাতে পারেন ।

আরও সহায়ক বিট

ডাব্লুএসএল বাশ কমান্ড লাইন থেকে উইন্ডোজে ভিএসকোড শুরু করতে চান ?

আপনার ডাব্লুএসএল উবুন্টুর জন্য কোনও গ্রাফিকাল ইন্টারফেস রাখতে চান ? (এটি আপনাকে উবুন্টু সিস্টেমের মধ্যে থাকা ফাইলগুলির জন্য লিনাক্স জিইউআই সম্পাদক ব্যবহার করার মতো জিনিসগুলি করার অনুমতি দেবে : উইন্ডোজ সম্পাদনা সরঞ্জামগুলি ব্যবহার করে সেগুলি সম্পাদনা করবেন না, এনএমপি বিভাগে মন্তব্য / নোট দেখুন)

তৈরি করতে চান (ডাব্লুএসএল জন্য সঠিকভাবে ভিএস কোড টাস্ক স্থাপনের উপরের অংশটি দেখুন) এবং ডাব্লুএসএল উবুন্টুতে পুরোপুরি ডিবাগ করুন ? (এটি জিডিবি ব্যবহার করে কীভাবে এটি করবেন তা দেখায়, তবে pipeTransportধারণাটি অন্যান্য ডিবাগারগুলির সাথেও ব্যবহার করা যেতে পারে) ( এই উত্তরের কৃতিত্ব , তবে এটির আগে একটি স্থানীয় লুপব্যাক ব্যবহার করে এমন একটি পদ্ধতিও সরবরাহ করে যা দরকারী প্রমাণিত হতে পারে)


10
উত্তম উত্তর, নোটিশ সরবরাহ করাও দরকারী , নতুন ডাব্লুএসএল ব্যবহারকারীদের উইন্ডোজ অ্যাপস এবং সরঞ্জামগুলি ব্যবহার করে লিনাক্স ফাইলগুলি পরিবর্তন করবেন না । এটি বেশ অবাক হিসাবে আসতে পারে।
ডেভিড সি র্যাঙ্কিন

4
দুর্দান্ত লেখার জন্য, ধন্যবাদ! আপনি এটি দেখেছেন কিনা তা নিশ্চিত নন, তবে উইন্ডোজ PATH কে ব্যাশে ইনজেকশন দেওয়া থেকে বিরত রাখতে আপনি একটি রেজিস্ট্রি এন্ট্রিও করতে পারেন যা অনেক উইন্ডোজ ব্যবহারকারীদের ম্যানুয়ালি এডিট করার চেয়ে সহজ হতে পারে .profile
টোবিয়াস জে

4
@ চ্যাংকিউয়ান এর কারণ হ'ল যখন bit৪ বিট উইন্ডোজ প্রকাশিত হয়েছিল, তারা 32 বিট প্রোগ্রামের জন্য একটি ফাইল সিস্টেম রিডাইরেক্টর যুক্ত করেছিল, কারণ সিস্টেম 32 64৪ বিট dlls / সফ্টওয়্যার জন্য সংরক্ষিত ছিল। এর ফলে 32 বিট অ্যাপ্লিকেশনগুলি সিএসডাব্লু 64 তে অ্যাক্সেস করার পরিবর্তে সিস্টেম 32 অ্যাক্সেস করার চেষ্টা করে (হ্যাঁ এটি পিছনের দিকে মনে হয়)। সিসনেটিভ এটিকে না ঘটতে বাধ্য করে, তবে এক্সপ্লোরারের মতো bit৪ বিট সফটওয়্যারটিতে প্রদর্শিত হবে না। আপনি 32 বিট কমান্ড প্রম্পট ব্যবহার করে এর উদাহরণ দেখতে পাচ্ছেন: C:\Windows\SysWOW64\cmd.exeএবং চলমান dir C:\Windows\Sysnative * এটি 64 বিট ভিএসকোডে কাজ করে কারণ এটি স্বয়ংক্রিয়ভাবে অনুবাদ করার
কোডিং করেছে

4
আপনি যখন আপনার টার্মিনালটি সেট করবেন তখন আপনার ubuntu.exeপ্রকল্পের ফোল্ডারের পরিবর্তে ব্যবহারকারীর ফোল্ডারে শেষ হতে পারে। এজন্য C:\\Windows\\System32\\wsl.exeআপনি github.com/Mic Microsoft/WSL/issues/2795 অনুসারে আপনার টার্মিনালটি সেট করতে চান wslconfig /setdefault Ubuntuসঠিক ইনস্টলেশনটি শুরু হয়েছে তা নিশ্চিত করতে ব্যবহার করুন ।
বার্নহার্ড ডাবলার

4
যখন আমি এটি লিখেছিলাম যখন ডাব্লুএসএল অনেক বেশি লকড ছিল (ডিস্ট্রো পছন্দ / ইত্যাদি আগে)। আমার কাছে উইন্ডোজের একটি নতুন ইনস্টল সহ একটি মেশিন রয়েছে যা কমপক্ষে স্প্রিং ক্রিয়েটর সংস্করণে আপডেট হয়েছে, তাই অবশেষে আমি বিভিন্ন মন্তব্যে কী কী উন্নতি করা যেতে পারে তা শীঘ্রই একটি বাস্তব চেহারা নেব এবং আপনার প্রশ্নের উত্তর দেওয়ার চেষ্টা করব, @ নারনিয়া।
তাসউইন

4

আপনি যদি zsh ব্যবহার করতে চান তবে ubuntu1804.exe বা ubuntu1604.exe এর সন্ধান করুন।

আমার ক্ষেত্রে

"terminal.external.windowsExec": "C:\\Users\\asdf\\AppData\\Local\\Microsoft\\WindowsApps\\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\\ubuntu1804.exe",
"terminal.integrated.shell.windows": "C:\\Users\\asdf\\AppData\\Local\\Microsoft\\WindowsApps\\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\\ubuntu1804.exe",

উবুন্টু সহ ভিজ্যুয়াল স্টুডিও কোড এবং ডাব্লুএসএল এর 1.32 সংস্করণে সূক্ষ্ম কাজ করেছেন। ধন্যবাদ!
সালভাদোর পি।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.