ฉันเป็นผู้ใช้ Windows และอยู่มานานเท่าที่ฉันจำได้ ฉันได้เล่นซอกับ Linux เช่นกัน แต่ติดอยู่กับ Windows เพราะฉันพบว่ามันไม่ค่อยมีประโยชน์สำหรับฉัน ทั้งสองมีข้อดีและข้อเสีย แต่ข้อเสียที่ใหญ่ที่สุดอย่างหนึ่งของ Windows สำหรับฉันเมื่อฉันเริ่มเรียนรู้การพัฒนาเว็บคือการไม่มีเครื่องมือบรรทัดคำสั่ง Linux ทั้งหมด
นั่นคือจนกระทั่ง Windows Subsystem Linux (WSL) เข้ามา ?
ฉันรักมัน! คุณสามารถมี Bash shell ใน Windows และเรียกใช้แอป Node.js ทั้งหมดได้ และด้วยการอัปเดต Windows 10 Fall Creators ทำให้ WSL ตั้งค่าได้ง่ายมาก
เรื่องราวเบื้องหลังอย่างรวดเร็วว่าทำไมฉันถึงโพสต์สิ่งนี้ ฉันทำลายแล็ปท็อปของฉันเมื่อวันก่อนเพราะฉันมีปัญหากับ Bash บน Windows ที่เกี่ยวข้องกับการใช้ nvm กับ WSL บางส่วน ฉันรู้สึกหงุดหงิดกับประสิทธิภาพการทำงานของคอมพิวเตอร์ แต่ตอนนี้ฉันรู้แล้วว่าฉันมีปฏิกิริยาตอบสนองมากเกินไป
หลังจากที่ฉันนำคอมพิวเตอร์กลับมาใช้อีกครั้ง ฉันต้องตั้งค่าสภาพแวดล้อมการพัฒนาใหม่ตั้งแต่ต้น โชคดีสำหรับฉัน ฉันเก็บการตั้งค่าและข้อมูลการกำหนดค่าทั้งหมดไว้ใน GitHub repo ในกรณีที่ฉันได้รับคอมพิวเตอร์เครื่องใหม่หรือกู้คืนจากเหตุการณ์ภัยพิบัติ (เช่น คอมพิวเตอร์ที่ถูกระเบิด)
ในบทความนี้ ฉันต้องการแสดงให้คุณเห็นว่าฉันตั้งค่า Windows Subsystem Linux สำหรับสภาพแวดล้อมการพัฒนาของฉันอย่างไร
นี่คือความคิดเห็นของฉันเกี่ยวกับการตั้งค่าเฉพาะและการใช้งาน WSL และนี่คือคำแนะนำทีละขั้นตอนสำหรับครั้งต่อไปที่ฉันต้องสร้างสภาพแวดล้อมการพัฒนาตั้งแต่เริ่มต้นบน Windows
ดังนั้น หลังจากติดตั้ง WSL จาก Microsoft Store และเพิ่มผู้ใช้เริ่มต้นแล้ว สิ่งแรกที่ต้องทำคืออัปเดตและอัปเกรดทุกอย่าง
sudo apt updatesudo apt -y upgrade
หากคุณไม่เคยใช้ลีนุกซ์รุ่นก่อน -y
ในคำสั่งอัพเกรดคือค่าเริ่มต้นคำตอบเป็น "ใช่" สำหรับข้อความแจ้งใด ๆ ที่แสดงในเทอร์มินัล คุณอาจไม่ต้องการทำเช่นนี้ เนื่องจากอาจมีบางโปรแกรมที่คุณไม่ต้องการอัปเดต แต่ฉันทำได้
โดยเพิ่ม -y
ตั้งค่าสถานะ คุณจะไม่มีข้อความเหล่านี้ ?
เครื่องมือสร้าง
ในการรวบรวมและติดตั้งโปรแกรมเสริมดั้งเดิมจาก npm คุณอาจต้องติดตั้งเครื่องมือสร้างด้วย ฉันต้องการสิ่งนี้สำหรับรูปภาพ Gatsby ที่ใช้ sharp
ซึ่งจะใช้ node-gyp
:
sudo apt install -y build-essential
ติดตั้งโหนด
การติดตั้ง Node.js ตามคำแนะนำที่ให้ไว้บนเว็บไซต์ nodejs.org ไม่ได้ตั้งค่าการอนุญาตที่ถูกต้องสำหรับฉัน ดังนั้นเมื่อพยายาม npm install
อะไรที่ฉันได้รับข้อผิดพลาด ฉันพบว่าใช้ n
ช่วย:
ติดตั้งโหนดด้วย n
เนื่องจากเป็นการติดตั้งใหม่ เราจึงสามารถใช้ n-install ด้วย:
curl -L https://git.io/n-install | bash
สิ่งนี้จะติดตั้งโหนดเวอร์ชันเสถียรล่าสุด ?
เมื่อสคริปต์เสร็จสิ้น ให้รีสตาร์ท bash ด้วย:
. /home/my_user_name/.bashrc # displays this for you to copy paste
ตรวจสอบโหนดและเวอร์ชัน npm ของคุณ:
node -v && npm -v
ติดตั้งปลา ?
ตอนนี้ปลาเป็นเป้าหมายของฉันแล้วสำหรับ auto complete/intellisense ? นอกจากนี้ยังมีธีมดีๆ ที่คุณสามารถใช้ได้เช่นกัน
sudo apt -y install fishsudo apt -y upgrade && sudo apt -y autoremove
ติดตั้ง Oh My Fish | OMF
Oh My Fish เป็นเหมือนตัวจัดการแพ็คเกจสำหรับ Fish ทำให้สามารถติดตั้งแพ็คเกจและธีมได้
curl -L https://get.oh-my.fish | fish
ติดตั้งธีม OMF
omf install clearance
จุดเริ่มต้นของการเริ่มต้น
ตกลง นั่นคือการตั้งค่าพื้นฐานสำหรับ WSL คุณอาจต้องการตั้งค่า Git ทันที ฉันใช้ SSH ผ่าน HTTPS มาระยะหนึ่งแล้วใน WSL
หมายเหตุ: ในขณะที่เขียนสิ่งนี้ การรวม WSL Git กับ VSCode ใช้งานไม่ได้ ดังนั้นฉันจึงเพิ่มการติดตั้ง Git ลงในเครื่อง windows ของฉัน คุณสามารถละเว้นสิ่งนี้และใช้งาน Git แบบเต็มผ่านเทอร์มินัลได้ แต่ฉันชอบการรวม VSCode Git มาก
ในการตั้งค่า SSH บนเครื่องของคุณ ให้ดูที่การตั้งค่า SSH ที่มีประโยชน์นี้ ฉันพูดว่า SSH แทน HTTPS เพราะฉันมีปัญหาทุกประเภทกับตัวจัดการข้อมูลรับรอง Git และตัวจัดการพวงกุญแจ ในท้ายที่สุด การสร้างคีย์ SSH และรับรองความถูกต้องด้วย GitHub ทำได้เร็วกว่าจริง คำแนะนำที่ฉันเชื่อมโยงจะอธิบายให้คุณทราบ
ย้ายไฟล์ดอทของคุณ
หากคุณมี dotfiles ทั้งหมดสำรองไว้ใน GitHub repo ตอนนี้เป็นเวลาที่ดีที่จะเพิ่มลงในโฟลเดอร์ WSL ของคุณ ครั้งล่าสุดที่ฉันทำสิ่งนี้ ฉันจะตั้งค่าการอนุญาตด้วยตนเองหลังจากย้ายแต่ละไฟล์ แต่ได้ค้นพบ rsync
เพื่อย้ายไฟล์ทั้งหมด
rsync -avzh /mnt/c/Users/dotfiles/ ~/
ที่จะคัดลอกเนื้อหาของ dotfiles
. ของฉัน โฟลเดอร์ไปที่ ~/
(home) ไดเรกทอรีใน WSL คุณสามารถตรวจสอบได้ด้วย:
ls -la ~/
ฉันคัดลอกข้าม .gitconfig
. ของฉัน , .gitignore
และ .npmrc
dotfiles ภาพที่นี่และคุณจะเห็นว่าการอนุญาตไม่สอดคล้องกับ .bashrc
ไฟล์.
เปลี่ยนการอนุญาตไฟล์ด้วย chmod
และเพื่อให้ได้คุณสมบัติของไฟล์ที่คล้ายกัน ให้ใช้ stat
:
stat -c “%a %n” ~/.*
นี่จะแสดงรายการทุกอย่างที่ขึ้นต้นด้วย .
นี่คือของฉัน:
777 /home/scott/.755 /home/scott/..600 /home/scott/.bash_history644 /home/scott/.bash_logout644 /home/scott/.bashrc777 /home/scott/.cache777 /home/scott/.config777 /home/scott/.gitconfig777 /home/scott/.gitignore777 /home/scott/.local777 /home/scott/.npm777 /home/scott/.npmrc644 /home/scott/.profile644 /home/scott/.sudo_as_admin_successful
ฉันต้องการเปลี่ยนเฉพาะ .gitconfig
, .gitignore
และ .npmrc
ฉันจะทำสิ่งนี้:
chmod 644 .gitconfig .gitignore .npmrc
และตอนนี้ไฟล์ของฉันก็เป็นแบบนี้ ?
ตกลงตอนนี้พร้อมใช้งานด้วยการติดตั้ง Ubuntu โหนดและเทอร์มินัลฟิชที่อัปเดตแล้ว แน่นอนว่ายังมีกรณีของการติดตั้งแพ็คเกจ npm ทั่วโลกที่คุณต้องการสำหรับการพัฒนาในขณะนี้
ขอให้โชคดี!
ขอบคุณที่อ่าน
หากคุณคิดว่าเรื่องนี้น่าสนใจ โปรดปรบมือให้ สมัครรับข้อมูลอัปเดตในอนาคตหรือทวีตความคิดเห็นของคุณ
หากมีสิ่งใดที่ฉันพลาดไป หรือหากคุณมีวิธีที่ดีกว่าในการทำสิ่งใด โปรดแจ้งให้เราทราบ
รับฉันทาง Twitter หรือถามฉันทุกอย่างบน GitHub
คุณสามารถอ่านบทความอื่นๆ เช่นนี้ในบล็อกของฉัน