เครื่องมือทดแทนแหล่งที่มาสากลและเฟรมเวิร์ก chsrc
มีเป้าหมายเพื่อรองรับสภาพแวดล้อมระบบปฏิบัติการมากที่สุดเท่าที่จะเป็นไปได้ เช่น Linux, Windows (MSYS2, Cygwin), macOS, BSD ฯลฯ และ CPU มากที่สุดเท่าที่จะเป็นไปได้ เช่น Loongson, Feiteng และ RISC-V
เราใช้ C99 เพื่อบรรลุเป้าหมายข้างต้น เราไม่ใช้ภาษาที่ตีความ เช่น Python หรือ JS เนื่องจากเครื่องมือเปลี่ยนแหล่งที่มาอย่างง่ายไม่ควรบังคับให้ผู้ใช้มีล่ามขนาดใหญ่และไฟล์อื่น ๆ หลายสิบหรือหลายร้อย MB
ซอฟต์แวร์นี้เป็น ซอฟต์แวร์เสรี และลิขสิทธิ์ซอฟต์แวร์ SDPX คือ GPL-3.0-or-later and MIT
บันทึก
chsrc
สามารถแทนที่เป้าหมาย 60+ ต้นทางได้ ทุกคนมีส่วนร่วมและดูแลรักษาเฉพาะส่วนที่คุ้นเคยเท่านั้น และได้รับความช่วยเหลือจากผู้เชี่ยวชาญในสาขาอื่นๆ เป็นการตอบแทน ผู้ที่ไม่คุ้นเคยกับการทำงานร่วมกันของ GitHub และ Gitee สามารถใช้โอกาสในการเรียนรู้และมีส่วนร่วมได้ ผู้เขียน @ccmywish สามารถให้คำแนะนำในการมีส่วนร่วมได้
เคล็ดลับ
chsrc
ไม่เพียงแต่เป็นเครื่องมือบรรทัดคำสั่งเท่านั้น แต่ยังเป็นเฟรมเวิร์กการแทนที่ซอร์สอีกด้วย มันยังช่วยให้คุณเขียนวิธีการแทนที่ซอร์สใหม่ (สูตร) โดยไม่ต้องรู้ภาษา C อีกด้วย
เพิ่มวิธีการเปลี่ยนแหล่งที่มาสำหรับซอฟต์แวร์ใหม่ทันที! เขียนสูตรแม้ว่าคุณจะไม่รู้ C
รายการท้าทาย:
[HELP] ระบุที่อยู่ต้นทางเริ่มต้น เช่น URL ต้นทางเริ่มต้นของ Ubuntu, Debian, Go ฯลฯ เพื่อช่วยเราทำการ chsrc reset
[ความท้าทาย] การเขียนเชลล์การติดตั้งแบบรวมและสคริปต์ PowerShell: เสร็จสมบูรณ์โดย @Efterklang และ @xuan
[ท้าทาย] สูตร CentOS (สตรีม)
https://github.com/RubyMetric/chsrc/wiki
https://github.com/RubyMetric/chsrc/discussions
สำคัญ
หากติดตั้งด้วยวิธีแมนนวลต่อไปนี้ มันจะถูกดาวน์โหลดไปยังไดเร็กทอรีปัจจุบันและสามารถรันได้โดยตรงผ่าน ./chsrc
สามารถติดตั้งได้ผ่าน scoop
ขอบคุณ @ Gn3po4g และ @niheaven
$ สกู๊ปติดตั้ง chsrc
ดาวน์โหลดไฟล์ไบนารีเวอร์ชันล่าสุดได้ด้วยคลิกเดียวผ่านสคริปต์ PowerShell
$ iwr -useb "https://chsrc.run/windows" | .iex
หรือดาวน์โหลดไฟล์ไบนารีด้วยตนเอง นี่เป็นเวอร์ชันล่าสุดซึ่งมักจะใหม่กว่าที่ scoop
มีให้ เหมาะสำหรับการใช้งานในเวลาที่เหมาะสมหลังจากแก้ไขข้อบกพร่อง เพิ่มคุณสมบัติใหม่ และเมื่อไม่ได้ติดตั้ง scoop
# x64curl -L https://gitee.com/RubyMetric/chsrc/releases/download/pre/chsrc-x64-windows.exe -o chsrc.exe # x86curl -L https://gitee.com/RubyMetric/chsrc/ เผยแพร่/ดาวน์โหลด/pre/chsrc-x86-windows.exe -o chsrc.exe
รองรับ AUR
ติดตั้งได้ผ่าน yay
ขอบคุณ @Jerry-Terrasse
# AUR$ yay -S chsrc-bin # Binary จาก GitHub Release$ yay -S chsrc-git # สร้างจากสาขาหลักล่าสุด (เสถียร)$ yay -S chsrc # สร้างจาก GitHub Release
เวอร์ชันล่าสุดสามารถติดตั้งได้ด้วยคลิกเดียวผ่าน shell
สคริปต์ ต้องขอบคุณ @Efterklang และ @xuan (ที่จะทดสอบโดยผู้ใช้ โปรดให้ข้อเสนอแนะในฉบับที่ 98 บน GitHub)
# ผู้ใช้ที่ไม่ใช่รูทถูกติดตั้งไว้ที่ ~/.local/bin$ โดยค่าเริ่มต้น curl https:/chsrc.run/posix | bash # ผู้ใช้รูทถูกติดตั้งไว้ที่ /usr/local/bin$ โดยค่าเริ่มต้น curl https:/chsrc.run /posix |. sudo bash # ใช้ -d เพื่อระบุไดเรกทอรีที่จะติดตั้ง $ curl https:/chsrc.run/posix | bash -s -- -d ./# ใช้ -l en เพื่อส่งออกภาษาอังกฤษ $ curl https:/chsrc วิ่ง/posix | -s -- -l เอง
สามารถดาวน์โหลดและติดตั้งไฟล์ไบนารีได้ด้วยตนเอง
# x64curl -L https://gitee.com/RubyMetric/chsrc/releases/download/pre/chsrc-x64-linux -o chsrc; /chsrc/releases/download/pre/chsrc-aarch64-linux -o chsrc; ./chsrc# riscv64curl -L https://gitee.com/RubyMetric/chsrc/releases/download/pre/chsrc-riscv64-linux -o chsrc; com/RubyMetric/chsrc/releases/download/pre/chsrc-armv7-linux -o chsrc; chmod +x ./chsrc
สามารถติดตั้งผ่าน homebrew
ได้ด้วย @ Aaron-212 และ @ chenrui333
$ ชงติดตั้ง chsrc
เวอร์ชันล่าสุดสามารถติดตั้งผ่าน shell
สคริปต์ได้ ขอบคุณ @Efterklang และ @xuan (เพื่อทดสอบโดยผู้ใช้ macOS โปรดให้ข้อเสนอแนะในฉบับที่ 98 บน GitHub)
# ผู้ใช้ที่ไม่ใช่รูทถูกติดตั้งไว้ที่ ~/.local/bin$ โดยค่าเริ่มต้น curl https:/chsrc.run/posix | bash # ผู้ใช้รูทถูกติดตั้งไว้ที่ /usr/local/bin$ โดยค่าเริ่มต้น curl https:/chsrc.run /posix |. sudo bash # ใช้ -d เพื่อระบุไดเรกทอรีที่จะติดตั้ง $ curl https:/chsrc.run/posix | bash -s -- -d ./# ใช้ -l en เพื่อส่งออกภาษาอังกฤษ $ curl https:/chsrc วิ่ง/posix | -s -- -l เอง
หรือดาวน์โหลดไฟล์ไบนารีด้วยตนเอง นี่เป็นเวอร์ชันล่าสุดซึ่งมักจะใหม่กว่าที่ homebrew
ให้ไว้ เหมาะสำหรับการใช้งานในเวลาที่เหมาะสมหลังจากแก้ไขข้อบกพร่องและเพิ่มคุณสมบัติใหม่
# arm64/aarch64curl -L https://gitee.com/RubyMetric/chsrc/releases/download/pre/chsrc-aarch64-macos -o chsrc; /RubyMetric/chsrc/releases/download/pre/chsrc-x64-macos -o chsrc; ./chsrc
$ git โคลน https://gitee.com/RubyMetric/chsrc.git; $ เสียงดังกราว - รวม src/chsrc-main.c -o chsrc
ใช้: chsrc[options] [target] [mirror]help # พิมพ์ความช่วยเหลือนี้ หรือ h, -h, --helpissue # ดูรายการปัญหาที่เกี่ยวข้อง (หรือ ls หรือ l) # แสดงรายการแหล่งที่มาของมิเรอร์ที่มีอยู่ และการเปลี่ยนที่มีอยู่ มิเรอร์รายการเป้าหมายต้นทาง / เป้าหมาย # รายการแหล่งที่มามิเรอร์ที่มีอยู่หรือรายการเป้าหมายต้นทางที่เปลี่ยนได้ os/lang/ware # รายการระบบปฏิบัติการ/ภาษาการเขียนโปรแกรม/ซอฟต์แวร์ของแหล่งที่เปลี่ยนได้วัด <เป้าหมาย> # วัดความเร็วของแหล่งที่มาทั้งหมดของ CSU เป้าหมาย รายการ # ตรวจสอบแหล่งที่มาที่มีอยู่และฟังก์ชั่นที่รองรับของเป้าหมายรับ # ตรวจสอบการใช้งานแหล่งที่มาปัจจุบันของชุดเป้าหมาย # เปลี่ยนแหล่งที่มาและเลือกแหล่งที่มาที่เร็วที่สุดหลังจากตั้งค่าการวัดความเร็วอัตโนมัติ < เป้าหมาย> ก่อน # เปลี่ยนแหล่งที่มาใช้แหล่งที่มาด้วยความเร็วสูงสุดที่วัดโดยทีมบำรุงรักษาชุด # เปลี่ยนแหล่งที่มาระบุใช้สถานีมิเรอร์ (ดูผ่านคำสั่งรายการ) ชุด https ://url # เปลี่ยนแหล่งที่มา URL แหล่งที่มาที่ผู้ใช้กำหนดรีเซ็ต # รีเซ็ตโดยใช้ตัวเลือกแหล่งที่มาที่ใช้โดยอัปสตรีมเป็นค่าเริ่มต้น: -dry # Dry Run จำลองกระบวนการเปลี่ยนแหล่งที่มา คำสั่งจะพิมพ์เท่านั้นและไม่รัน -local # เปลี่ยนเฉพาะแหล่งที่มาสำหรับบางโครงการแทนที่จะเป็นแบบทั่วโลก (เฉพาะซอฟต์แวร์บางตัวเช่น Bundler และ Pdm รองรับ) -ipv6 # ใช้ความเร็ว IPv6 การวัด -en(glish) # ใช้เอาต์พุตภาษาอังกฤษ -no-color # ไม่มีเอาต์พุตสี
วัดความเร็วอัตโนมัติ ค้นหาความเร็วสูงสุด เปลี่ยนแหล่งที่มา $ chsrc set ruby หากคุณไม่ต้องการวัดความเร็วโดยอัตโนมัติคุณสามารถใช้สถานีมิเรอร์ที่เร็วที่สุดซึ่งทดสอบโดยทีมบำรุงรักษา $ chsrc ตั้งทับทิมก่อน ขั้นแรกให้แสดงรายการไซต์มิเรอร์ที่มีอยู่ จากนั้นเลือกหนึ่งรายการ เช่น การใช้ RubyChina เป็นไซต์มิเรอร์ $ chsrc ls ruby $ chsrc ตั้ง ruby rubychina หากคุณมีที่อยู่มิเรอร์ของคุณเอง ให้ใช้ URL ที่กำหนดเอง $ chsrc ชุดทับทิม https://gems.ruby-china.com/ สำหรับเป้าหมายที่รองรับการจัดหาทรัพยากร *ระดับโครงการ* คุณสามารถหลีกเลี่ยงการจัดหาทรัพยากรส่วนกลาง (*ระดับระบบ* หรือ *ระดับผู้ใช้*) $ chsrc set -local Bundler $ chsrc ชุด - pdm ท้องถิ่น
chsrc ตั้ง ruby|rb|gem|bundler|rubygems chsrc set python |. py | .pypi # เปลี่ยน pip ของผู้จัดการแพ็คเกจทั้งสามพร้อมกัน หรือคุณสามารถเปลี่ยนแหล่งที่มาได้อย่างอิสระ chsrc set pip chsrc ตั้งบทกวี chsrc ตั้งค่า pdm chsrc set node | .nodejs # เปลี่ยนตัวจัดการแพ็คเกจทั้งสาม npm, Yarn และ pnpm พร้อมกัน หรือคุณสามารถเปลี่ยนแหล่งที่มาได้อย่างอิสระ chsrc set npm เส้นด้ายชุด chsrc chsrc ตั้งค่า pnpm chsrc ตั้งค่า nvm chsrc ตั้งขนมปัง chsrc ตั้งค่า perl | .cpan chsrc ตั้ง php | chsrc ตั้ง lua | .luarocks chsrc ตั้งสนิม | .cargo chsrc ตั้งค่าสนิม chsrc ตั้งค่าไป chsrc ตั้ง java | .maven | chsrc ตั้ง clojure | chsrc ตั้งโผ | .pub chsrc ตั้งค่ากระพือ chsrc set haskell | . แฮ็กเกอร์ | chsrc set ocaml | .opam# จะเปลี่ยนแหล่งที่มาของ bioconductor chsrc set r | chsrc ตั้งจูเลีย
sudo chsrc ตั้งค่าอูบุนตู sudo chsrc ตั้ง linuxmint | sudo chsrc ตั้งค่าเดเบียน sudo chsrc ตั้งค่า fedora sudo chsrc ตั้งค่า suse | .opensuse sudo chsrc ตั้งค่ากาลี sudo chsrc ตั้งส่วนโค้ง sudo chsrc ตั้งค่า Archlinuxcn sudo chsrc ตั้งค่า manjaro sudo chsrc ตั้งค่า gentoo sudo chsrc ตั้งร็อคกี้ | .rockylinux sudo chsrc ตั้งอัลมา | sudo chsrc ตั้งค่าอัลไพน์ sudo chsrc ตั้งค่าเป็นโมฆะ | sudo chsrc ตั้งค่าโซลัส sudo chsrc ตั้ง ros | sudo chsrc ตั้งค่า trisquel sudo chsrc set lite | sudo chsrc ตั้ง raspi | sudo chsrc ตั้งค่าอาร์เบียน sudo chsrc ตั้งค่า openwrt sudo chsrc ตั้งค่า openeuler sudo chsrc ตั้ง openanolis | sudo chsrc ตั้งค่า openkylin sudo chsrc ตั้งค่า deepin chsrc ตั้ง msys2 | .msys# BSDsudo chsrc ตั้ง freebsd sudo chsrc ตั้งค่า openbsd sudo chsrc ตั้งค่า netbsd
chsrc ตั้งวิงเก็ต chsrc ชุดชง | .homebrew chsrc ตั้ง Cocopods |. โกโก้ chsrc ตั้ง dockerhub | chsrc ตั้ง flathub | chsrc ตั้งค่าห้าม chsrc setguix chsrc ตั้ง emacs | chsrc set tex | .ctan | . ลาเท็กซ์ | chsrc ตั้ง conda |
กรุณาติดตั้ง gcc
หรือ clang
make
และ curl
# ใช้สาขา dev เพื่อพัฒนา git clone https://gitee.com/RubyMetric/chsrc.git -b dev make # โดยค่าเริ่มต้น ให้ใช้ cc เพื่อคอมไพล์ make CC=clang # ใช้ clang เพื่อคอมไพล์ make CC=gcc # ใช้ gcc เพื่อคอมไพล์ make test # คำสั่งทดสอบ make test-xy # ทดสอบ xy.hmake clean
โปรแกรมหลัก chsrc
ใช้ลิขสิทธิ์ GPL-3.0-or-later
เพื่อให้แน่ใจว่าซอฟต์แวร์มีอิสระอย่างถาวร
xy.h
ใช้ใบอนุญาต MIT
เพื่อให้แน่ใจว่าห้องสมุดสามารถนำมาใช้ซ้ำได้ในสถานการณ์ต่างๆ มากที่สุดเท่าที่จะเป็นไปได้
ขอขอบคุณไซต์มิเรอร์หลายแห่งที่ให้บริการมิเรอร์คุณภาพสูงฟรี
source.h มีข้อมูลไซต์มิเรอร์ทั่วไป
สถานีกระจกเงาเฉพาะที่กำหนดไว้ในแต่ละสูตร
ขอขอบคุณเป็นพิเศษต่อองค์กรหรือโครงการดังต่อไปนี้:
MirrorZ Education Network สถานีมิเรอร์
ปลาทูน่ามหาวิทยาลัยซิงหัว
บริการมิเรอร์ซอร์สซอฟต์แวร์ของมหาวิทยาลัย Shanghai Jiao Tong
มหาวิทยาลัยวิทยาศาสตร์และเทคโนโลยีแห่งสมาคมผู้ใช้ Linux แห่งประเทศจีน
ขอบคุณโครงการ Mirror โดย @eryajf
คุณประหยัดเวลาและความพยายามโดยใช้ chsrc
หรืออะไรก็ตาม?