Dune คือระบบสร้างสำหรับ OCaml โดยจะมอบประสบการณ์ที่สอดคล้องกันและดูแลรายละเอียดระดับต่ำของการคอมไพล์ OCaml คุณเพียงแค่ต้องระบุคำอธิบายโครงการของคุณเท่านั้น แล้ว Dune จะดำเนินการส่วนที่เหลือให้
Dune ดำเนินโครงการที่ได้รับแรงบันดาลใจจากโครงการที่ใช้ใน Jane Street และปรับให้เข้ากับโลกโอเพ่นซอร์ส มันเติบโตมาเป็นเวลานานและมีนักพัฒนาหลายร้อยคนใช้งานทุกวัน ซึ่งหมายความว่ามันได้รับการทดสอบและประสิทธิผลสูง
Dune มาพร้อมคู่มือ หากคุณต้องการเริ่มต้นโดยไม่ต้องอ่านมากเกินไป โปรดดูคู่มือเริ่มต้นใช้งานฉบับย่อหรือดูวิดีโอแนะนำนี้
ไดเร็กทอรีตัวอย่างประกอบด้วยตัวอย่างโครงการที่ใช้ Dune
Dune อ่านข้อมูลเมตาของโครงการจากไฟล์ dune
ซึ่งเป็นไฟล์คงที่ที่มีไวยากรณ์ S-expression แบบธรรมดา โดยจะใช้ข้อมูลนี้เพื่อตั้งค่ากฎการสร้าง สร้างไฟล์การกำหนดค่าสำหรับเครื่องมือการพัฒนา เช่น Merlin จัดการการติดตั้ง ฯลฯ
Dune นั้นรวดเร็ว มีค่าใช้จ่ายน้อยมาก และรองรับการสร้างแบบขนานบนทุกแพลตฟอร์ม มันไม่มีการพึ่งพาระบบ OCaml คือทั้งหมดที่คุณต้องการในการสร้าง Dune และแพ็คเกจโดยใช้ Dune
โดยเฉพาะอย่างยิ่ง เราสามารถติดตั้ง OCaml บน Windows ด้วยตัวติดตั้งไบนารี จากนั้นใช้เฉพาะคอนโซล Windows เพื่อสร้าง Dune และแพ็คเกจโดยใช้ Dune
Dune สามารถประกอบได้ ซึ่งหมายความว่าสามารถจัดเรียงโปรเจ็กต์ Dune หลายโปรเจ็กต์เข้าด้วยกันได้ ซึ่งนำไปสู่งานสร้างเดียวที่ Dune รู้วิธีดำเนินการ ซึ่งช่วยให้สามารถ monorepos ของโครงการได้
Dune ทำให้การพัฒนาหลายแพ็คเกจพร้อมกันเป็นงานที่ไม่สำคัญ
Dune รู้วิธีจัดการที่เก็บข้อมูลที่มีแพ็คเกจหลายชุด เมื่อสร้างผ่าน opam จะสามารถใช้ไลบรารี่ที่เคยติดตั้งไว้ก่อนหน้านี้ได้อย่างถูกต้อง แม้ว่าไลบรารีเหล่านั้นจะมีอยู่ในแผนผังต้นทางแล้วก็ตาม
คาถาวิเศษคือ:
$ dune build --only-packages < package-name > @install
Dune สามารถสร้างที่เก็บซอร์สโค้ดที่กำหนดกับการกำหนดค่าต่างๆ ได้พร้อมกัน สิ่งนี้จะช่วยรักษาแพ็คเกจใน OCaml หลายเวอร์ชัน เนื่องจากคุณสามารถทดสอบทั้งหมดได้ในคราวเดียวโดยไม่ต้องยุ่งยาก
โดยเฉพาะอย่างยิ่งสิ่งนี้ทำให้ง่ายต่อการจัดการการคอมไพล์ข้าม คุณลักษณะนี้ต้องใช้ opam
Dune ต้องการ OCaml เวอร์ชัน 4.08.0 เพื่อสร้างตัวเองและสามารถสร้างโปรเจ็กต์ OCaml โดยใช้ OCaml 4.02.3 หรือสูงกว่าได้
เราแนะนำให้ติดตั้ง Dune ผ่านทางตัวจัดการแพ็คเกจ opam:
$ opam install dune
หากคุณยังใหม่กับ opam ตรวจสอบให้แน่ใจว่าได้เรียกใช้ eval $(opam config env)
เพื่อให้ dune
พร้อมใช้งานใน PATH
ของคุณ dune
binary นั้นมีอยู่ในตัวเองและสามารถย้ายตำแหน่งได้ ดังนั้นคุณจึงสามารถคัดลอกมันไปที่อื่นได้อย่างปลอดภัยเพื่อให้สามารถใช้งานได้อย่างถาวร
คุณสามารถสร้างมันขึ้นมาได้ด้วยตนเองด้วย:
$ make release
$ make install
หากคุณไม่มี make
คุณสามารถทำสิ่งต่อไปนี้:
$ ocaml boot/bootstrap.ml
$ ./dune.exe build -p dune --profile dune-bootstrap
$ ./dune.exe install dune
คำสั่งแรกจะสร้างไบนารี dune.exe
ส่วนที่สองจะสร้างไฟล์เพิ่มเติมที่ติดตั้งโดย Dune เช่น man page และไฟล์สุดท้ายเพียงติดตั้งทั้งหมดนั้นบนระบบ
โปรดทราบ : เว้นแต่คุณจะรันสคริปต์เสริม ./configure
configure คุณสามารถคัดลอก dune.exe
ได้ทุกที่และมันก็จะใช้งานได้ dune
สามารถย้ายตำแหน่งใหม่ได้อย่างสมบูรณ์และค้นพบสภาพแวดล้อม ณ รันไทม์ แทนที่จะเขียนโค้ดแบบฮาร์ดโค้ดในเวลาคอมไพล์
หากคุณมีคำถามหรือปัญหาเกี่ยวกับ Dune คุณสามารถถามได้ในหน้าสนทนา GitHub ของเราหรือเปิดตั๋วบน GitHub