Ruka hadi maudhui makuu
Mafunzo ya AI

Unda VM ya Maendeleo Iliyotengwa kwa Kila Mradi kwa kutumia devvm

Jifunze jinsi ya kusakinisha devvm, kuunda VM iliyotengwa yenye zana za uundaji zinazotambuliwa kiotomatiki, kuendesha mawakala wa usimbaji ndani ya sandbox, kubinafsisha mazingira yake, na kulinda mti wako wa kazi kwa kutumia nakala tofauti ya hazina.

Unda VM ya Maendeleo Iliyotengwa kwa Kila Mradi kwa kutumia devvm

devvm ni nini?

devvm huunda mashine pepe iliyotengwa kwa kila folda ya mradi. Mashine pepe huwa na toolchain zinazohitajika na mradi wako, na hutoa sandbox ambapo wewe au wakala wa uandishi wa msimbo mnaweza kufanya kazi bila kusakinisha wakala huyo moja kwa moja kwenye mashine mwenyeji.

Kila mashine pepe huendeshwa kupitia Lima. Kwa chaguo-msingi, devvm huweka ndani ya mashine pepe folda ya mradi iliyochaguliwa pekee na kuionesha humo kwa njia ileile inayotumiwa kwenye mwenyeji. Kuendesha devvm tena katika folda hiyo hufungua tena mashine pepe ileile.

Vipengele muhimu

  • Mashine pepe moja kwa kila mradi: Kila folda ya mradi hupata mazingira yake yaliyotengwa.
  • Utambuzi wa kiotomatiki wa toolchain: devvm huchunguza faili za mradi ili kubaini toolchain zinazohitajika. Kwa mfano, mradi ulio na package.json hupata zana za Node.js.
  • Usaidizi wa mawakala wa uandishi wa msimbo: Claude Code, Codex, opencode, na pi zinaweza kuendeshwa ndani ya mashine pepe pamoja na mipangilio, ujuzi, na seva zao za MCP.
  • Mtandao unaodhibitiwa: Mashine pepe mpya hutumia kiwango cha mtandao cha orodha ya kuruhusiwa kwa chaguo-msingi na zinaweza kufikia seva zilizoidhinishwa pekee.
  • Siri zilizoko upande wa mwenyeji: Kitambulisho kama tokeni za GitHub na Claude Code hubaki kwenye mwenyeji katika viwango vyote vya mtandao.
  • Picha zinazoweza kutumika tena: Mashine pepe hunakiliwa kutoka kwenye picha msingi, huku toolchain zikishirikiwa kati ya mashine pepe kwa kusoma pekee. Baada ya usanidi wa kwanza, mashine pepe mpya zinaweza kuanza kwa sekunde chache.
  • Tabaka za hiari: Tabaka zilizojengewa ndani ni pamoja na docker, nix, na desktop. Unaweza pia kuunda tabaka lako mwenyewe.
  • Hali ya clone: Mashine pepe inaweza kufanya kazi katika clone yake ya Git badala ya kuweka ndani ya mashine pepe mti wa kazi wa mwenyeji.

Mahitaji ya mfumo

devvm inatumia macOS 13 au mpya zaidi na Linux kwenye arm64 au x86_64. Inahitaji Lima 2.2 au mpya zaidi pamoja na mahitaji husika ya Lima. Mradi huu umejaribiwa kwenye Mac za Apple silicon na mifumo ya Linux inayotumia arm64 na x86_64, lakini bado haujajaribiwa kwenye Mac za Intel.

Sakinisha devvm

Sakinisha kwenye macOS kwa Homebrew

Formula ya Homebrew husakinisha devvm na Lima:

brew trust --formula devvmhq/tap/devvm
brew install devvmhq/tap/devvm

Sakinisha kwenye Linux

Endesha hati rasmi ya usakinishaji:

curl -fsSL https://github.com/devvmhq/devvm/releases/latest/download/install.sh | bash

Hati hii pia hufanya kazi kwenye macOS. Kabla ya kusakinisha Lima, QEMU, au kufikia /dev/kvm, huomba uthibitisho.

Kila toleo limesainiwa kwa ufunguo wa devvm minisign RWSjzFsn7ETaijKJ2y7F4DtZobXmyv+LmdclJwZP/KmAkLUwOCzWF/2b. Fuata mwongozo wa kuthibitisha hati ya usakinishaji ikiwa ungependa kuthibitisha upakuaji kabla ya kuiendesha.

Angalia usakinishaji wako

Baada ya usakinishaji, endesha amri ya uchunguzi:

devvm doctor

Hii hukagua mahitaji ya devvm kwenye kompyuta yako na kueleza jinsi ya kupata chochote kinachokosekana. Tazama mwongozo kamili wa usakinishaji kwa mahitaji yote na chaguo za kisakinishaji.

Unda mashine pepe yako ya kwanza ya mradi

  1. Fungua folda ya mradi wako. Kwenye terminali, nenda kwenye saraka iliyo na mradi wako.
  2. Endesha devvm. Kagua usanidi wa mashine pepe uliopendekezwa na uthibitishe.
  3. Fanya kazi ndani ya mashine pepe. devvm hufungua shell ambayo mwaliko wake huanza na (devvm).
cd ~/some-project
devvm

devvm hutambua toolchain zinazoombwa na faili za mradi. Kabla ya kuunda mashine pepe, unaweza pia kubinafsisha toolchain, mawakala wa uandishi wa msimbo, tabaka, kiwango cha mtandao, na ukubwa wake.

Mara ya kwanza huuliza maswali machache yanayoweka chaguo-msingi za mashine pepe mpya na picha msingi. Hizi ni pamoja na ukubwa chaguo-msingi wa mashine pepe, mawakala wa uandishi wa msimbo, na nyongeza za hiari za picha msingi. Kuunda picha msingi huchukua dakika chache mara moja; mashine pepe za miradi zinazofuata kwa kawaida huanza kwa sekunde chache.

Fungua tena mashine pepe ileile

Rudi kwenye folda ya mradi na endesha amri ileile:

cd ~/some-project
devvm

Kwa kuwa folda ya mradi huhifadhi mashine pepe yake, devvm hufungua tena mazingira yaliyopo badala ya kuunda mazingira mengine yasiyohusiana.

Endesha wakala wa uandishi wa msimbo

Shell ya mashine pepe inapofunguka, anza wakala anayeungwa mkono ukiwa ndani yake. Kwa mfano, endesha Claude Code kwa:

claude

Hii humweka wakala wa uandishi wa msimbo ndani ya sandbox badala ya kumsakinisha kwenye mwenyeji wako. devvm huhifadhi mipangilio na taarifa za kuingia za mawakala wanaoungwa mkono katika hifadhi yake yenyewe.

Ingia kwenye Claude Code

Kabla ya kuanzisha Claude Code kwa mara ya kwanza, anzisha kuingia ukiwa kwenye mashine pepe:

devvm agent login claude

Maelezo ya kuingia huhifadhiwa kwenye mashine yako. Tazama mwongozo wa kuingia kwenye Claude Code kwa maelezo.

Ingiza usanidi wa wakala uliopo

Ikiwa tayari unatumia wakala wa uandishi wa msimbo anayeungwa mkono kwenye mwenyeji, devvm inaweza kunakili usanidi wake uliopo kwenye hifadhi yake yenyewe:

devvm agent import

Hii inalenga kuhamisha mipangilio inayotumiwa na wakala wa ndani aliyepo. Miunganisho inayoungwa mkono ni pamoja na Claude Code, Codex, opencode, na pi.

Linda mti wako wa kazi kwa hali ya clone

Kwenye hali chaguo-msingi, kihariri cha mwenyeji na mashine pepe hushiriki faili za mradi zilizowekwa ndani ya mashine pepe. Kwa hiyo, mabadiliko yanayofanywa ndani ya mashine pepe huonekana kwenye mti huohuo wa kazi.

Kwa utenganishaji mkubwa zaidi, anza devvm kwa kutumia --clone. VM itapokea kloni yake ya hifadhi, hivyo kuzuia michakato iliyo ndani yake kugusa mti wa kazi wa mwenyeji au saraka yake ya .git.

devvm --clone

Baada ya kazi kukabidhiwa ndani ya VM, ipate kwenye mwenyeji kupitia remote ya devvm:

git fetch devvm

Matawi yaliyopatikana yanapatikana chini ya majina kama devvm/main. Kagua tofauti kabla ya kuyaunganisha:

git log -p main..devvm/main

Mtiririko huu hufanya kazi ya VM kufikia hifadhi yako tu unapoiomba wazi kwa kutumia fetch. Tazama Kufanyia kazi kloni kwa mtiririko kamili wa kazi.

Vidokezo vya usanidi wa hali ya juu

Chagua toolchain kwa makusudi

Utambuzi wa kiotomatiki hutoa mwanzo mzuri, lakini kagua usanidi unaopendekezwa kabla ya kuunda VM. Mtiririko wa uundaji hukuruhusu kubinafsisha toolchain zake wakati chaguo lililotambuliwa halilingani na mazingira unayolenga. Nyaraka za toolchain zinaorodhesha chaguo zinazotumika.

Ongeza tabaka za mazingira

Tumia tabaka zilizojengwa ndani za docker, nix, au desktop wakati mradi unahitaji uwezo huo. Ili kuanza kufafanua tabaka maalum, tumia:

devvm layer new

Kagua nyaraka za tabaka kabla ya kubinafsisha picha.

Kagua ufikiaji wa mtandao

VM mpya hupokea tier ya mtandao ya allowlist kwa chaguomsingi. Weka orodha ya wapangishaji wanaoweza kufikiwa ikiwa finyu kadiri inavyowezekana, hasa unapoendesha wakala wa usimbaji wa kujitegemea. Tier nyingine za mtandao zimeelezwa katika mwongozo wa usalama wa mtandao.

Elewa mpaka wa sandbox

VM hupunguza hatari, lakini haifungi kila pengo la usalama. Elewa kile ambacho VM inaweza kufikia, epuka kufichua rasilimali zisizo za lazima, na kagua mabadiliko yaliyotengenezwa kabla ya kuyakubali. Soma Kudumisha usalama kabla ya kuikabidhi VM mradi muhimu.

Rejelea marejeleo ya CLI

Kwa amri, bendera, na hoja ambazo hazijaelezwa katika mafunzo haya, tumia marejeleo rasmi ya CLI. Nyaraka pana za matumizi pia zinaeleza milango, ukubwa wa VM, viungo kati ya VM, SSH, vihariri, picha, na utatuzi wa matatizo.

Hitimisho

devvm hutoa njia ya vitendo ya kuupa kila mradi mazingira yake ya maendeleo yaliyotengwa. Isakinishe, thibitisha mwenyeji kwa devvm doctor, endesha devvm kutoka kwenye saraka ya mradi, kisha anza wakala wako wa usimbaji ndani ya shell inayotokana. Kwa kazi nyeti, changanya mtandao wenye vikwazo na devvm --clone, kisha kagua mabadiliko yaliyopatikana kabla ya kuyaunganisha.