1
GVM என்பதன் துனையுடன் Goஎனும் கணினிமொழியின் பல பதிப்புகளை நிருவகிக்கமுடியும்

GVM என சுருக்கமாக அழைக்கப்படும் கோ பதிப்பு மேலாளர் (Go Version Manager)என்பது கோஎனும் கணினிமொழி சூழல்களை நிருவகிப்பதற்கான ஒரு திற மூல கருவியாகும். இது கோஎனும் கணினிமொழியின் பல பதிப்புகளை நிறுவுகை செய்வதையும் ஜி.வி.எம் “pkgsets” ஐப் பயன்படுத்தி ஒரு செயல்திட்டத்திற்கு தொகுப்புகள் நிருவகிப்பதையும் ஆதரிக்கின்றது. ,இது Ruby யின் ஒத்தநிலையினரான, RVM போன்ற ஒவ்வொரு செயல்திட்டத்திற்கும் அல்லது செயல்திட்டக் குழுக்களுக்கும் ஒரு மேம்பாட்டுச் சூழலை உருவாக்க அனுமதிக்கின்றது, மேலும் நெகிழ்வுத்தன்மையை அனுமதிக்கின்ற பதிப்பு சிக்கல்களைத் தடுக்கின்ற வெவ்வேறு கோ பதிப்புகளையும் தொகுப்பு சார்புகளையும் பிரிக்கின்றது. கோ தொகுப்புகளை நிருவகிக்க கோ 1.11 தொகுப்புகள் உட்பட பல விருப்பங்கள்இதில் உள்ளன. எளிமையானதாக-வும் உள்ளுணர்வுடனும் செயல்படும், இந்தஜி.வி.எம் மைநிறுவுகை செய்திடுவதற்காக.:

bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)

என்ற கட்டளைவரியின் வாயிலாக பதிவிறக்கம்செய்திடுக. இந்த நிறுவுகை வழிமுறையை பலரும் பின்பற்றி வருகின்ற போதிலும், நாம் அதைச் செய்வதற்கு முன்பு இது என்ன செய்து கொண்டிருக்கிறது என சரிபார்ப்பது இன்னும் நல்ல நடைமுறையாகும். , இதனுடைய நிறுவுகை குறிமுறைவரிகளானது:

1. சில சார்புகளை சரிபார்க்கின்றது

2. மறுஅமைவை போலியாக செய்கின்றது

3. இதற்கு ஷெல் ஸ்கிரிப்ட்களைப் பயன்படுத்தி Go எனும் கணினிமொழியை நிறுவுகை செய்தலையும் GOPATH ஐ நிருவகிப்பதையும் நம்முடைய bashrc, zshrc, profile ஆகியவற்றில் கூடுதல் தகவல்களையும் சேர்த்து கொள்ளமுடியும்

ஜி.வி.எம் உடன் கோ பதிப்புகளை நிறுவுகைசெய்தலும் நிருவகித்தலும்

இந்த ஜி.வி.எம்மை நிறுவுகைசெய்யப்பட்டதும், கோவின் வெவ்வேறு பதிப்புகளை நிறுவுகைசெய்வதற்கும் நிருவகிக்கவும் இதைப் பயன்படுத்தத் தொடங்கலாம்.

[chris@marvin ]$ gvm listall

$ gvm listall

gvm gos (available)

go1

go1.0.1

go1.0.2

go1.0.3


ஒரு குறிப்பிட்ட கோ பதிப்பை நிறுவுகைசெய்வது gvm install , என்றகட்டளைவரியை போன்று எளிதானதாகும், மேற்கண்ட கட்டளைவரிகளில் gvm listall எனும் கட்டளையால் திருப்பியவற்றில் என்பதும் ஒன்றாகும். கோ பதிப்பு 1.12.8 ஐப் பயன்படுத்தும் செயல்திட்டத்தில் பணிபுரியும்போது அதை gvm install go1.12.8 உடன் நிறுவுகை செய்துகொள்ளலாம்:

[chris@marvin]$ gvm install go1.12.8

Installing go1.12.8…

Compiling…

go1.12.8 successfully installed!

இதில் gvm listஐ உள்ளீடு செய்திடுக,Go version 1.12.8 எனும் பதிப்பானது கணினியின் கோ பதிப்புடன் நிறுவப்பட்டிருப்பதைக் காணலாம்:

[chris@marvin]$ gvm list

gvm gos (installed)

go1.12.8

=> system

ஜி.வி.எம் இன்னும் கோவின் கணினி பதிப்பைப் பயன்படுத்திகொள்கின்றது, அதற்கு அடுத்துள்ள => குறியீட்டால் குறிக்கப்படுகின்றது. Gvm எனும் பயன்பாட்டின் கட்டளைவரிகளுடன் புதிதாக நிறுவப்பட்ட go1.12.8 ஐப் பயன்படுத்தி சூழலை மாற்றலாம்:

[chris@marvin]$ gvm use go1.12.8

Now using version go1.12.8

[chris@marvin]$ go version

go version go1.12.8 linux/amd64

கோ வின் நிறுவுகைசெய்யப்பட்ட பதிப்புகளை நிருவகிப்பது ஜி.வி.எம்ஆனது மிகவும் எளிதாக்குகிறது,

GVM pkgset ஐப் பயன்படுத்துதல்

பெட்டியின் வெளியே, கோ தொகுப்புகள் மற்றும் கட்டுகளை நிர்வகிக்கும் ஒரு அற்புதமான வழியைக் கொண்டுள்ளது. இயல்பாக, ஒரு தொகுப்பைப் பெறச் சென்றால், அது $ GOPATH இல் உள்ள src மற்றும் pkg கோப்பகங்களில் பதிவிறக்கம் செய்யப்படுகிறது; பதிவிறக்கத்தைப் பயன்படுத்துவதன் மூலம் அதை கோ நிரலில் சேர்க்கலாம். இது sudo அல்லது root சலுகைகளை தேவையில்லாமல்ஆக்குகின்றது, குறிப்பாக பயனற்ற பயனாளர்களுக்கு தொகுப்புகளைப் பெறுவதை எளிதாக்குகின்றது .இருப்பினும், பரிமாற்றம் என்பது வெவ்வேறு செயல்திட்டங்களில் ஒரே தொகுப்புகளின் வெவ்வேறு பதிப்புகளை நிருவகிப்பதில் சிரமமாகும். கோ கட்டுகள் , go dep ஆகியவை உள்ளிட்டபல்வேறு சிக்கல்களை சரிசெய்ய அல்லது குறைக்க பல்வேறு வழிகள் உள்ளன. இந்த ஜி.வி.எம் கண்டுபிடிக்கப்படுவதற்கு முன்பு, அவற்றை பிரிப்பதை உறுதி செய்வதற்காக கோ செயல்திட்டங்களை அவற்றின் சொந்த Docker கலன்களில் உருவாக்கி சோதிப்பது வழக்கமாகும்.

செயல்திட்டங்களுக்கு ஒரு புதிய கோப்பகத்தை இயல்புநிலையாகச் சேர்ப்பதற்கு “pkgsets” ஐப் பயன்படுத்துவதன் மூலம் செயல்திட்டங்களுக்கிடையில் தொகுப்புகளை நிருவகித்தல் , பிரித்தல் ஆகியவற்றை ஜி.வி.எம் மிகவும் நேர்த்தியாக நிறைவேற்றுகிறது Go நிறுவுகைசெய்யப்பட்ட கோ பதிப்பிற்கான $GOPATH, யூனிக்ஸ் / லினக்ஸ் கணினிகளில் $ PATH பணியை செய்கிறது. இது எவ்வாறு செயல்படுகிறது என்பதைக் காண்பது எளிதானது. முதலில், Go, v1.12.9: இன் புதிய பதிப்பை நிறுவுகைசெய்திடுக:

[chris@marvin]$ echo $GOPATH

/home/chris/.gvm/pkgsets/go1.12.8/global

[chris@marvin]$ gvm install go1.12.9

Installing go1.12.9…

* Compiling…

go1.12.9 successfully installed

[chris@marvin]$ gvm use go1.12.9

இப்போது go1.12.9 பதிப்பைப் பயன்படுத்துகின்றது

ஜி.வி.எம் ஒரு புதிய பதிப்பைப் பயன்படுத்தும்படி கூறினால், அது புதிய $ GOPATH க்கு மாறுகிறது, இது அந்த பதிப்பிற்கான இயல்புநிலை gloabl pkgsetஉடன் ஒத்திருக்கிறது:

[chris@marvin]$ echo $GOPATH

/home/chris/.gvm/pkgsets/go1.12.9/global

[chris@marvin]$ gvm pkgset list

gvm go package sets (go1.12.9)

=> global

Go இன் இந்த குறிப்பிட்ட பதிப்பைப் பயன்படுத்தி எந்தவொரு செயல்திட்டத்திற்கும் உலகளாவிய pkgset இல் உள்ள தொகுப்புகள் கிடைக்கின்றன, இருப்பினும் இயல்பாகவே கூடுதல் தொகுப்புகள் நிறுவப்படவில்லை. இப்போது, ஒரு புதிய செயல்திட்டத்தைத் துவங்கினால் அதற்கு ஒரு குறிப்பிட்ட தொகுப்பு தேவையாகும். முதலில், ஜி.வி.எம் ஐப் பயன்படுத்தி introToGvm: என்ற புதிய pkgset ஐ உருவாக்குவதற்காக:

[chris@marvin]$ gvm pkgset create introToGvm

[chris@marvin]$ gvm pkgset use introToGvm

Now using version go1.12.9@introToGvm

[chris@marvin]$ gvm pkgset list

gvm go package sets (go1.12.9)

global

=> introToGvm

மேலே குறிப்பிட்டுள்ளபடி, pkgset க்கான புதிய அடைவு $ GOPATH க்கு தயார்படுத்தப்பட்டுள்ளது:

[chris@marvin]$ echo $GOPATH

/home/chris/.gvm/pkgsets/go1.12.9/introToGvm:/home/chris/.gvm/pkgsets/go1.12.9/global

முன்னரே தயாரிக்கப்பட்ட ஜி.வி.எம் பாதைக்கு அறிமுகமாக அடைவுகளை மாற்றுக மற்றும் அடைவு கட்டமைப்பை ஆய்வு செய்க –

[chris@marvin]$ cd $( awk -F’:’ ‘{print $1}’ <<< $GOPATH )

[chris@marvin]$ pwd

/home/chris/.gvm/pkgsets/go1.12.9/introToGvm

[chris@marvin]$ ls

overlay pkg src

புதிய அடைவு சாதாரண $ GOPATH போலவே இருப்பதைக் கவனித்திடுக. புதிய கோ தொகுப்புகளை நாம் வழக்கமாக கோவுடன் பயன்படுத்தும் அதே go get எனும் கட்டளையைப் பயன்படுத்தி பதிவிறக்கம் செய்யலாம், மேலும் அவை pkgset இல் சேர்க்கப்படுகின்றன.

Leave a comment