ນີ້ແມ່ນຄໍາສັ່ງ opam-pin ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍສະຖານີເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
opam-pin - ປັກໝຸດຊຸດທີ່ໃຫ້ໃສ່ກັບເວີຊັນ ຫຼືແຫຼ່ງສະເພາະ.
ສະຫຼຸບສັງລວມ
ໂອປາມ pin [ທາງເລືອກ]... [ຄໍາສັ່ງ] [ARG] ...
ລາຍລະອຽດ
ຄໍາສັ່ງນີ້ອະນຸຍາດໃຫ້ປັບແຕ່ງແພັກເກັດທ້ອງຖິ່ນໃນສະວິດທີ່ໃຫ້. ຊຸດສາມາດ
ຈະຖືກປັກໝຸດໃສ່ກັບສະບັບຕົ້ນນ້ຳສະເພາະ, ໄປຫາເສັ້ນທາງທີ່ບັນຈຸແຫຼ່ງຂອງມັນ, ໄປຫາ a
ສະຖານທີ່ຄວບຄຸມເວີຊັນ ຫຼືໄປຫາ URL. ຖ້າໄຟລ໌ `NAME.opam' ກັບ NAME ກົງກັບ
ຊື່ແພັກເກັດ, ຫຼືພຽງແຕ່ 'opam', ພົບເຫັນຢູ່ໃນຮາກຂອງແຫຼ່ງທີ່ປັກໝຸດ, ມັນຈະຖືກນໍາໃຊ້
ເປັນຄໍານິຍາມຂອງຊຸດ, overriding ຄໍານິຍາມທີ່ຜ່ານມາຂອງມັນຖ້າຫາກວ່າມີ. ຖ້າໄດເລກະທໍລີໂດຍ
ຫນຶ່ງຂອງຊື່ເຫຼົ່ານີ້ໄດ້ຖືກພົບເຫັນ, ເນື້ອໃນຂອງມັນຈະຖືກນໍາໃຊ້, ຍັງ overriding ຊຸດອື່ນໆ
metadata (`descr', extra 'files' subdirectory...)
ສາມາດ
ໂດຍບໍ່ມີການໂຕ້ຖຽງ, ເລີ່ມຕົ້ນເປັນ ບັນຊີລາຍຊື່.
ບັນຊີລາຍຊື່
ລາຍຊື່ແພັກເກດທີ່ປັກໝຸດໄວ້.
ເພີ່ມ PACKAGE ເປົ້າຫມາຍ
ຊຸດ Pins PACKAGE to ເປົ້າຫມາຍ, ເຊິ່ງອາດຈະເປັນເວີຊັນ, ເສັ້ນທາງ, ຫຼື URL. PACKAGE ສາມາດເຮັດໄດ້
ຖືກລະເວັ້ນຖ້າ ເປົ້າຫມາຍ ແມ່ນເສັ້ນທາງທ້ອງຖິ່ນທີ່ປະກອບດ້ວຍລາຍລະອຽດຊຸດທີ່ມີຊື່.
ເປົ້າຫມາຍ ສາມາດຖືກແທນທີ່ດ້ວຍ `--dev-repo' ຖ້າແພັກເກັດໂດຍຊື່ນັ້ນເປັນທີ່ຮູ້ຈັກແລ້ວ.
OPAM ຈະ infer ປະເພດຂອງ pinning ຈາກຮູບແບບຂອງ ເປົ້າຫມາຍ, ການນໍາໃຊ້ ເສັ້ນທາງ ປັກໝຸດໂດຍ
ຄ່າເລີ່ມຕົ້ນ, ເວັ້ນເສຍແຕ່ວ່າທ່ານໃຊ້ຢ່າງຈະແຈ້ງ -- ປະເພດ ທາງເລືອກ. ປັກໝຸດໃສ່ລະບົບການຄວບຄຸມເວີຊັນອາດຈະ
ແນເປົ້າໃສ່ສາຂາສະເພາະ ຫຼືຄໍາໝັ້ນສັນຍາໂດຍໃຊ້ #ສາຂາ ຕົວຢ່າງ: git://host/me/pkg#testingທີ່ຢູ່ ເມື່ອໃດ
ເຂົາເຈົ້າເຮັດບໍ່ໄດ້, ໃນກໍລະນີພິເສດຂອງການປັກໝຸດແບບຄວບຄຸມເວີຊັນໄປສູ່ເສັ້ນທາງທ້ອງຖິ່ນ, OPAM
ຈະໃຊ້ "ໂຫມດປະສົມ": ມັນຈະໃຊ້ໄຟລ໌ທີ່ຄວບຄຸມເວີຊັນເທົ່ານັ້ນ, ແຕ່ຢູ່ທີ່ພວກມັນ
ປະຈຸບັນ, ສະບັບໃນແຜ່ນ. ຖ້າ PACKAGE ບໍ່ແມ່ນຊື່ແພັກເກດທີ່ຮູ້ຈັກ, ເປັນຊຸດໃໝ່ໂດຍ
ຊື່ນັ້ນຈະຖືກສ້າງຢູ່ໃນທ້ອງຖິ່ນ. ສະບັບຂອງແພັກເກັດອາດຈະຖືກກໍານົດໂດຍການໃຊ້
ຮູບແບບ NAME.ເວີຊັ່ນ ສໍາລັບ PACKAGE, ໃນໄຟລ໌ opam ແຫຼ່ງ, ຫຼືກັບ ດັດແກ້.
ເອົາ ຊື່
ຖອນປັກໝຸດແພັກເກດ ຊື່, ການຟື້ນຟູຄໍານິຍາມຂອງພວກເຂົາຈາກ repository, ຖ້າມີ.
ດັດແກ້ NAME
ເປີດບັນນາທິການໃຫ້ໂອກາດທ່ານໃນການປ່ຽນແປງໄຟລ໌ opam ທີ່ OPAM ຈະ
ໃຊ້ຢູ່ໃນທ້ອງຖິ່ນສໍາລັບຊຸດທີ່ຖືກປັກໝຸດ NAME, ລວມທັງສະບັບຂອງຕົນ. ພຽງແຕ່ມີການປ່ຽນແປງ
pinning ເປົ້າຫມາຍ, ການນໍາໃຊ້ ເພີ່ມ. ບັນນາທິການທີ່ເລືອກແມ່ນກໍານົດຈາກຕົວແປສະພາບແວດລ້ອມ
OPAM_EDITOR, VISUAL or EDITOR, ໃນຄໍາສັ່ງ.
OPTIONS
--dev-repo
ປັກໝຸດໃສ່ແຫຼ່ງແພັກເກັດຕົ້ນສະບັບສຳລັບເວີຊັນພັດທະນາຫຼ້າສຸດ
-e, --ດັດແກ້
ດ້ວຍການເພີ່ມ opam pin, ແກ້ໄຂໄຟລ໌ opam ຄືກັບ 'opam pin edit' ຫຼັງຈາກປັກໝຸດ.
-k ປະເພດ, -- ປະເພດ=ປະເພດ
ກຳນົດປະເພດຂອງການປັກໝຸດ. ຕ້ອງເປັນໜຶ່ງໃນ 'ລຸ້ນ', 'ເສັ້ນທາງ', `http', `git',
`darcs', `hg' ຫຼື `auto'. ຖ້າບໍ່ໄດ້ຕັ້ງ, ແມ່ນ inferred ຈາກຮູບແບບຂອງເປົ້າຫມາຍ,
ເລີ່ມຕົ້ນເປັນ ເສັ້ນທາງທີ່ຢູ່ ຖ້າຫາກວ່າ ອັດຕະໂນມັດ or OPAMPINKINDAUTO ຖືກຕັ້ງ, ເສັ້ນທາງທ້ອງຖິ່ນຈະຖືກຄົ້ນຫາ
ສໍາລັບການຄວບຄຸມສະບັບແລະປະເພດ pinning ທີ່ກໍານົດໄວ້ຕາມຄວາມເຫມາະສົມ. ນີ້ຄາດວ່າຈະກາຍເປັນ
ຄ່າເລີ່ມຕົ້ນໃນສະບັບຕໍ່ໄປ.
-n, -- ບໍ່ມີການກະທຳ
ພຽງແຕ່ບັນທຶກສະຖານະການ pinning ໃຫມ່, ແລະບໍ່ໄດ້ກະຕຸ້ນໃຫ້ມີການຕິດຕັ້ງຫຼືການໂຍກຍ້າຍຄືນໃຫມ່
ຂອງຊຸດທີ່ໄດ້ຮັບຜົນກະທົບ.
-s, --ສັ້ນ
ສົ່ງອອກລາຍການດິບຂອງຊື່, ຫນຶ່ງຕໍ່ແຖວ, ຂ້າມລາຍລະອຽດໃດໆ.
COMMON OPTIONS
ຕົວເລືອກເຫຼົ່ານີ້ແມ່ນທົ່ວໄປກັບຄໍາສັ່ງທັງຫມົດ.
--ສີ=ເມື່ອໃດ (absent=ອັດຕະໂນມັດ)
ປັບສີຜົນຜະລິດ. ເມື່ອໃດ ຕ້ອງເປັນໜຶ່ງໃນ 'ສະເໝີ', 'ບໍ່ເຄີຍ' ຫຼື 'ອັດຕະໂນມັດ'.
--ເງື່ອນໄຂ=ວິທະຍາໄລ
ລະບຸຜູ້ໃຊ້ preferences ສໍາລັບການແກ້ໄຂການເພິ່ງພາອາໄສສໍາລັບໄລຍະນີ້. ລົບລ້າງທັງສອງ
$OPAMCRITERIA ແລະ $OPAMUPRADECRITERIA. ສໍາລັບລາຍລະອຽດກ່ຽວກັບພາສາທີ່ສະຫນັບສະຫນູນ, ແລະ
ການແກ້ໄຂພາຍນອກທີ່ມີຢູ່, ເບິ່ງ
http://opam.ocaml.org/doc/Specifying_Solver_Preferences.html. ຄູ່ມືທົ່ວໄປໃນການນໍາໃຊ້
ຄວາມມັກ solver ສາມາດພົບໄດ້ທີ່ http://www.dicosmo.org/Articles/usercriteria.pdf.
ຄ່າເລີ່ມຕົ້ນແມ່ນ
-count(down),-count(ເອົາອອກ),-notuptodate(ການແກ້ໄຂ),-sum(solution,version-lag),-count(ໃໝ່)
ສໍາລັບການຍົກລະດັບ, ແລະ
-count(removed),-notuptodate(request),-sum(request,version-lag),-count(down),-notuptodate(changed),-count(changed),-notuptodate(ການແກ້ໄຂ),-sum(solution) ,version-lag)
ຖ້າບໍ່ດັ່ງນັ້ນ.
--cudf=ຊື່ເອກະສານ
ທາງເລືອກການແກ້ໄຂບັນຫາ: ບັນທຶກການຮ້ອງຂໍ CUDF ທີ່ສົ່ງໄປຫາຕົວແກ້ໄຂເພື່ອ ຊື່ເອກະສານ- .cudf.
--debug
ພິມຂໍ້ຄວາມດີບັກໃສ່ stderr. ນີ້ແມ່ນເທົ່າກັບການຕັ້ງຄ່າ $OPAMDEBUG ກັບ "ຄວາມຈິງ".
--ລະດັບດີບັກ=LEVEL
ເຊັ່ນດຽວກັບ '-- debug', ແຕ່ອະນຸຍາດໃຫ້ລະບຸລະດັບ debug (`--debug' ຕັ້ງມັນເປັນ 1).
ທຽບເທົ່າກັບການຕັ້ງຄ່າ $OPAMDEBUG ເປັນຈໍານວນບວກ.
--git-version
ພິມສະບັບ git ຖ້າມັນມີຢູ່ແລະອອກ.
- ຊ່ວຍ[=ຍທຂ] (default=pager)
ສະແດງການຊ່ວຍເຫຼືອນີ້ໃນຮູບແບບ ຍທຂ (pager, ທໍາມະດາຫຼື groff).
--no-base-packages
ຢ່າຕິດຕັ້ງແພັກເກັດພື້ນຖານ (ທີ່ເປັນປະໂຫຍດສໍາລັບຈຸດປະສົງການທົດສອບ). ນີ້ແມ່ນເທົ່າກັບ
ຕັ້ງ $OPAMNOBASEPACKAGES ກັບສະຕຣິງທີ່ບໍ່ຫວ່າງເປົ່າ.
-- ບໍ່ມີການຍົກລະດັບຕົນເອງ
OPAM ຈະທົດແທນຕົວມັນເອງດ້ວຍ binary ໃຫມ່ທີ່ພົບເຫັນຢູ່ OPAMROT/opam ຖ້າມີ. ນີ້
ປິດການປະພຶດນີ້.
-q, --ງຽບ
ງຽບເມື່ອຕິດຕັ້ງຄອມພີວເຊີໃໝ່.
-- ຮາກ=ຮາກ (ຂາດ=~/.opam)
ການນໍາໃຊ້ ຮາກ ເປັນເສັ້ນທາງຮາກໃນປະຈຸບັນ. ອັນນີ້ເທົ່າກັບການຕັ້ງຄ່າ $OPAMROOT to ຮາກ.
-- ປອດໄພ
ໃຫ້ແນ່ໃຈວ່າບໍ່ມີຫຍັງຈະຖືກປັບປຸງອັດຕະໂນມັດຫຼືຂຽນໃຫມ່. ເປັນປະໂຫຍດສໍາລັບການໂທຫາຈາກ
scripts ສໍາເລັດ, ສໍາລັບການຍົກຕົວຢ່າງ. ຈະລົ້ມເຫລວທຸກຄັ້ງທີ່ຕ້ອງດໍາເນີນການດັ່ງກ່າວ; ຍັງ
ຫຼີກເວັ້ນການລໍຖ້າການລັອກ, ຂ້າມຄໍາຖາມແບບໂຕ້ຕອບ ແລະ overrides OAMDEBUG
ຕົວແປ.
--ແກ້ໄຂ=CMD
ລະບຸຊື່ຂອງການຂຶ້ນກັບພາຍນອກ ຕົວແກ້. ຄ່າເລີ່ມຕົ້ນແມ່ນ aspcud.
ທັງ 'aspcud', 'packup' ຫຼືຄໍາສັ່ງທີ່ກໍາຫນົດເອງທີ່ອາດມີຕົວແປ
%{input}%, %{output}% ແລະ %{criteria}%
--ເຄັ່ງຄັດ
ລົ້ມເຫລວທຸກຄັ້ງທີ່ພົບຂໍ້ຜິດພາດໃນແພັກເກັດນິຍາມ ຫຼືໄຟລ໌ການຕັ້ງຄ່າ. ໄດ້
ຄ່າເລີ່ມຕົ້ນແມ່ນຈະສືບຕໍ່ຢ່າງງຽບໆຖ້າເປັນໄປໄດ້.
--ສະຫຼັບ=SWITCH
ການນໍາໃຊ້ SWITCH ເປັນສະຫຼັບ compiler ໃນປັດຈຸບັນ. ອັນນີ້ເທົ່າກັບການຕັ້ງຄ່າ $OPAMSWITCH
to SWITCH.
--use-internal-solver, --no-aspcud
ບັງຄັບໃຊ້ heuristics ພາຍໃນ, ເຖິງແມ່ນວ່າຕົວແກ້ໄຂພາຍນອກສາມາດໃຊ້ໄດ້.
-v, -- verbose
ມີຄວາມເວົ້າຫຼາຍ, ສະແດງຄໍາສັ່ງຍ່ອຍຊຸດແລະຜົນຜະລິດຂອງພວກເຂົາ. ເຮັດຊ້ຳເພື່ອເບິ່ງເພີ່ມເຕີມ.
ຊ້ ຳ n ເວລາເທົ່າກັບການຕັ້ງ $OPAMVERBOSE ກັບ "n".
- ການປ່ຽນແປງ
ສະແດງຂໍ້ມູນສະບັບ.
-y, --ແມ່ນແລ້ວ
ປິດການໃຊ້ງານແບບໂຕ້ຕອບ ແລະຕອບວ່າແມ່ນຕໍ່ກັບທຸກຄຳຖາມທີ່ຈະຖືກຖາມຢ່າງອື່ນ
ກັບຜູ້ໃຊ້. ນີ້ແມ່ນເທົ່າກັບການຕັ້ງຄ່າ $OPAMYES ກັບ "ຄວາມຈິງ".
ENVIRONMENT ຄວາມຮັບຜິດຊອບ
OPAM ໃຊ້ຕົວແປສະພາບແວດລ້ອມທີ່ມີລາຍຊື່ຢູ່ທີ່ນີ້. ຄວນຕັ້ງຄ່າຕົວແປ Boolean
ເປັນ "0", "ບໍ່" ຂອງ "false" ເພື່ອປິດການໃຊ້ງານ, "1", "yes" ຫຼື "true" ເພື່ອເປີດໃຊ້ງານ.
OPAMCOLOR, ເມື່ອຕັ້ງ ສະເຫມີໄປ or ບໍ່ເຄີຍ, ກໍານົດຄ່າເລີ່ມຕົ້ນສໍາລັບທາງເລືອກ --color.
OPAMCRITERIA ລະບຸຜູ້ໃຊ້ preferences ສໍາລັບການແກ້ໄຂການເພິ່ງພາອາໄສ. ຄ່າເລີ່ມຕົ້ນແມ່ນ
-count(removed),-notuptodate(request),-sum(request,version-lag),-count(down),-notuptodate(changed),-count(changed),-notuptodate(ການແກ້ໄຂ),-sum(solution) ,version-lag).
ເບິ່ງທາງເລືອກ --criteria
OPAMCURL ສາມາດໃຊ້ເພື່ອເລືອກໂຄງການ 'curl' ທີ່ໄດ້ມອບໃຫ້. ເບິ່ງ OPAMFETCH ສໍາລັບທາງເລືອກຫຼາຍ.
OPAMDEBUG ເບິ່ງຕົວເລືອກ '-- debug' ແລະ '-- debug-level'.
OPAMDOWNLOADJOBS ກໍານົດຈໍານວນສູງສຸດຂອງການດາວໂຫຼດພ້ອມໆກັນ.
OPAMEXTERNALSOLVER ເບິ່ງທາງເລືອກ '--solver'.
OPAMFETCH ລະບຸວິທີການດາວໂຫຼດໄຟລ໌: `wget', `curl' ຫຼືຄໍາສັ່ງທີ່ກໍາຫນົດເອງ
ຕົວແປ %{url}%, %{out}%, %{ລອງໃໝ່}%, %{ບີບອັດ}% ແລະ %{checksum}% ຈະໄດ້ຮັບການທົດແທນ.
ລົບລ້າງຄ່າ 'download-command' ຈາກໄຟລ໌ config ຫຼັກ.
OPAMJOBS ກໍານົດຈໍານວນສູງສຸດຂອງພະນັກງານຂະຫນານທີ່ຈະດໍາເນີນການ.
OPAMLOCKRETRIES ກໍານົດຈໍານວນຂອງການພະຍາຍາມຫຼັງຈາກນັ້ນ OPAM ໃຫ້ເຖິງການໄດ້ຮັບ lock ຂອງຕົນແລະ
ລົ້ມເຫລວ. <= 0 ຫມາຍເຖິງການລໍຖ້າທີ່ບໍ່ມີຂອບເຂດ.
OPAMNO ຕອບບໍ່ກັບຄໍາຖາມໃດໆທີ່ຖາມ.
OPAMNOASPCUD ເບິ່ງທາງເລືອກ '--no-aspcud'.
OPAMNOSELFUPRADE ເບິ່ງທາງເລືອກ '--no-self-upgrade'.
OPAMPINKINDAUTO ຖ້າຕັ້ງໄວ້, ລະບົບການຄວບຄຸມເວີຊັນຈະຖືກກວດພົບເມື່ອປັກໝຸດໃສ່ເສັ້ນທາງທ້ອງຖິ່ນ.
OPAMREQUIRECHECKSUMS ເບິ່ງທາງເລືອກ '--require-checksums'.
OPAMRETRY ກໍານົດຈໍານວນຂອງຄວາມພະຍາຍາມກ່ອນທີ່ຈະລົ້ມເຫລວໃນການດາວໂຫຼດ.
ໂອປາມຣອດ ເບິ່ງຕົວເລືອກ '-- ຮາກ'. ອັນນີ້ຖືກຕັ້ງໂດຍອັດຕະໂນມັດໂດຍ `opam config env --root=DIR'
ເມື່ອ DIR ບໍ່ແມ່ນຄ່າເລີ່ມຕົ້ນຫຼື OPAMROT ຖືກກໍານົດແລ້ວ.
OPAMSAFE ເບິ່ງຕົວເລືອກ '-- ປອດໄພ'
OPAMSKIPVERSION ກວດສອບ ຜ່ານການກວດສອບບາງສະບັບ. ບໍ່ປອດໄພ, ສໍາລັບການທົດສອບຄວາມເຂົ້າກັນໄດ້
ເທົ່ານັ້ນ.
OPAMSOLVERTIMEOUT ປ່ຽນເວລາຂອງຕົວແກ້ໄຂພາຍໃນ.
OPAMSTATUSLINE ສະແດງເສັ້ນສະຖານະພາບແບບເຄື່ອນໄຫວສະແດງໃຫ້ເຫັນສິ່ງທີ່ກໍາລັງເກີດຂຶ້ນໃນປັດຈຸບັນ
ສະຖານີ. (ຫນຶ່ງໃນຫນຶ່ງຂອງ "ສະເຫມີ", "ບໍ່ເຄີຍ" ຫຼື "ອັດຕະໂນມັດ")
OPAMSWITCH ເບິ່ງທາງເລືອກ '--switch'. ຕັ້ງຄ່າອັດຕະໂນມັດໂດຍ `opam config env --switch=SWITCH'.
OPAMUPGRADECRITERIA ລະບຸຜູ້ໃຊ້ preferences ສໍາລັບການແກ້ໄຂການເພິ່ງພາອາໄສໃນເວລາປະຕິບັດ
ຍົກລະດັບ. ລົບລ້າງ OPAMCRITERIA ໃນການຍົກລະດັບຖ້າທັງສອງຖືກຕັ້ງ. ຄ່າເລີ່ມຕົ້ນແມ່ນ
-count(down),-count(ເອົາອອກ),-notuptodate(solution),-sum(solution,version-lag),-count(ໃໝ່).
ເບິ່ງທາງເລືອກ --criteria
OPAMUSEINTERNALSOLVER ເບິ່ງທາງເລືອກ '--use-internal-solver'.
OPAMUTF8 ໃຊ້ຕົວອັກສອນ UTF8 ໃນການສົ່ງອອກ (ໜຶ່ງໃນໜຶ່ງໃນ `ສະເໝີ', `ບໍ່ເຄີຍ' ຫຼື 'ອັດຕະໂນມັດ'). ໂດຍ
ຄ່າເລີ່ມຕົ້ນ 'ອັດຕະໂນມັດ', ເຊິ່ງຖືກກໍານົດຈາກທ້ອງຖິ່ນ).
OPAMUTF8MSGS ໃຊ້ຕົວອັກສອນ UTF8 ຂະຫຍາຍ (ອູດ) ໃນຂໍ້ຄວາມ OPAM. ຫມາຍເຖິງ OPAMUTF8.
ອັນນີ້ຖືກຕັ້ງເປັນຄ່າເລີ່ມຕົ້ນໃນ OSX ເທົ່ານັ້ນ.
OPAMVAR_var overrides ເນື້ອໃນຂອງຕົວແປ var ເມື່ອປ່ຽນສະຕຣິງ `%{var}%`
ໃນໄຟລ໌ `opam`.
OPAMVAR_package_var overrides ເນື້ອໃນຂອງຕົວແປ ຊຸດ:var ເມື່ອປ່ຽນແທນ
`%{package:var}%` strings ໃນໄຟລ໌ `opam`.
OPAMVERBOSE ເບິ່ງຕົວເລືອກ '--verbose'.
OPAMYES ເບິ່ງຕົວເລືອກ '-- ແມ່ນແລ້ວ'.
ຕື່ມອີກ ເອກະສານອ້າງອີງ
ເບິ່ງ https://opam.ocaml.org.
AUTHORS
Thomas Gazagnaire[email protected]>
Anil Madhavapeddy[email protected]>
Fabrice Le Fessant[email protected]>
Frederic Tuong[email protected]>
Louis Gesbert[email protected]>
Vincent Bernardoff[email protected]>
Guillem Rieu[email protected]>
Roberto Di Cosmo[email protected]>
ໃຊ້ opam-pin ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net
