Node.jsతో తెరవెనుక ప్రారంభించేటప్పుడు "సింబల్ కనుగొనబడలేదు" లోపాన్ని పరిష్కరిస్తోంది

Node.js

బ్యాక్‌స్టేజ్ డెవలప్‌మెంట్‌లో Node.js ఎర్రర్‌ను అర్థం చేసుకోవడం

Node.js ప్రాజెక్ట్‌లలో పని చేస్తున్నప్పుడు, ప్రత్యేకించి ట్యుటోరియల్‌లను అనుసరిస్తున్నప్పుడు, లోపాలను ఎదుర్కోవడం అనివార్యం. బ్యాక్‌స్టేజ్ డెవలప్‌మెంట్ సెటప్ సమయంలో అలాంటి ఒక లోపం కనిపించవచ్చు, ఇది మీ పురోగతిని ఊహించని విధంగా నిరోధించవచ్చు. ఈ సమస్య తరచుగా మాడ్యూల్ లోడింగ్ సమస్యలకు సంబంధించినది మరియు దాని మూలాన్ని అర్థం చేసుకోవడం దాన్ని పరిష్కరించడానికి కీలకం.

ప్రత్యేకంగా, IBM MQ డెవలపర్ ట్యుటోరియల్‌ని అనుసరిస్తున్నప్పుడు, "సింబల్ కనుగొనబడలేదు"కి సంబంధించిన లోపం తలెత్తవచ్చు. నడుస్తున్నప్పుడు ఈ సమస్య ఏర్పడుతుంది తెరవెనుక వాతావరణంలో ఆదేశం. ఇది నిరుత్సాహాన్ని కలిగిస్తుంది, కానీ ప్రధాన సమస్యను గుర్తించడం త్వరిత పరిష్కారానికి దారి తీస్తుంది.

లోపం తరచుగా తప్పిపోయిన లేదా తప్పుగా కాన్ఫిగర్ చేయబడిన స్థానిక Node.js మాడ్యూల్‌ని సూచిస్తుంది, ఉదాహరణకు . సమస్య Node.js వెర్షన్‌లు మరియు ప్యాకేజీ డిపెండెన్సీలలోని వ్యత్యాసాల వల్ల ఏర్పడుతుంది, ఇది కొన్నిసార్లు అననుకూల ప్రవర్తనకు కారణం కావచ్చు. ఈ సందర్భంలో, మీ Node.js సంస్కరణ ముఖ్యమైన పాత్ర పోషిస్తుంది.

ఈ వ్యాసంలో, మేము లోపం యొక్క మూల కారణాన్ని అన్వేషిస్తాము, దశల వారీ డీబగ్గింగ్ పద్ధతులను అందిస్తాము మరియు ఆచరణాత్మక పరిష్కారాలను అందిస్తాము. ఈ లోపాన్ని ఎలా పరిష్కరించాలో అర్థం చేసుకోవడం ద్వారా, మీ బ్యాక్‌స్టేజ్ డెవలప్‌మెంట్‌ను సజావుగా కొనసాగించడానికి మీరు మెరుగ్గా సన్నద్ధమవుతారు.

ఆదేశం ఉపయోగం యొక్క ఉదాహరణ
exec() ఈ ఆదేశం Node.js స్క్రిప్ట్‌లోని షెల్ ఆదేశాలను అమలు చేయడానికి ఉపయోగించబడుతుంది. ఈ కథనంలో, స్థానిక మాడ్యూల్‌లను పునర్నిర్మించడం, Node.js సంస్కరణలను మార్చడం మరియు డెవలప్‌మెంట్ సర్వర్‌ను ప్రారంభించడం కోసం ఇది చాలా కీలకం. ఇది నేరుగా సిస్టమ్‌తో పరస్పర చర్య చేయడానికి ఒక మార్గాన్ని అందిస్తుంది.
nvm install నోడ్ వెర్షన్ మేనేజర్ (NVM) ద్వారా Node.js యొక్క నిర్దిష్ట సంస్కరణను ఇన్‌స్టాల్ చేయడానికి ఉపయోగించబడుతుంది. ఈ సందర్భంలో, అననుకూల Node.js సంస్కరణల వల్ల ఏర్పడిన "సింబల్ కనుగొనబడలేదు" లోపాన్ని పరిష్కరించడానికి Node.js యొక్క అనుకూల సంస్కరణను ఇన్‌స్టాల్ చేయడం అవసరం.
nvm use ఈ ఆదేశం NVMని ఉపయోగించి గతంలో ఇన్‌స్టాల్ చేయబడిన Node.js సంస్కరణకు మారడానికి అనుమతిస్తుంది. బ్యాక్‌స్టేజ్ ప్రాజెక్ట్ అనుకూలమైన Node.js ఎన్విరాన్‌మెంట్‌తో అమలు చేయబడుతుందని నిర్ధారించుకోవడానికి ఇది చాలా అవసరం.
npm cache clean --force ఈ ఆదేశం npm కాష్‌ని బలవంతంగా క్లియర్ చేస్తుంది. కాష్ చేయబడిన ఫైల్‌లు పునర్నిర్మాణ ప్రక్రియలో జోక్యం చేసుకోకుండా ఉండేలా స్థానిక మాడ్యూళ్లను పునర్నిర్మించే ముందు ఇది ఉపయోగించబడుతుంది, ప్రత్యేకించి వ్యాసంలో మాడ్యూల్.
npm rebuild ఈ ఆదేశం స్థానిక Node.js మాడ్యూళ్లను పునర్నిర్మిస్తుంది, ఇది మాడ్యూల్స్ ఇష్టపడినప్పుడు అవసరం అనుకూలత సమస్యల కారణంగా లోపాలు ఏర్పడుతున్నాయి. ప్రస్తుత సిస్టమ్ మరియు Node.js వెర్షన్ కోసం ఈ మాడ్యూల్స్ సరిగ్గా పునర్నిర్మించబడిందని ఇది నిర్ధారిస్తుంది.
rm -rf node_modules ఈ Unix-ఆధారిత ఆదేశం తొలగించడానికి ఉపయోగించబడుతుంది డైరెక్టరీ, డిపెండెన్సీల యొక్క తాజా ఇన్‌స్టాలేషన్‌ను అనుమతిస్తుంది. కాలం చెల్లిన లేదా పాడైన ప్యాకేజీలు రన్‌టైమ్ లోపాలను కలిగించే సమస్యలను పరిష్కరించడానికి ఇది చాలా ముఖ్యం.
yarn install ప్రాజెక్ట్‌లో నిర్వచించిన అన్ని డిపెండెన్సీలను ఇన్‌స్టాల్ చేస్తుంది ఫైల్. క్లియర్ చేసిన తర్వాత , ఇది సరైన Node.js వెర్షన్‌తో అనుకూలతను నిర్ధారించడానికి వాటిని మళ్లీ ఇన్‌స్టాల్ చేస్తుంది.
npx mocha ఈ ఆదేశం మోచా పరీక్ష కేసులను అమలు చేస్తుంది. ఈ వ్యాసంలో, ఇది సరైన లోడ్‌ను ధృవీకరిస్తుంది మాడ్యూల్ లోపం పరిష్కరించబడిందని నిర్ధారించడానికి మరియు మాడ్యూల్ ఆశించిన విధంగా పనిచేస్తుంది.
assert.isDefined() చాయ్ టెస్టింగ్ లైబ్రరీలోని ఒక నిర్దిష్ట ప్రకటనను ధృవీకరించడానికి ఉపయోగిస్తారు మాడ్యూల్ లోడ్ చేయబడింది మరియు నిర్వచించబడింది. ఈ పరీక్ష రీబిల్డింగ్ లేదా రీఇన్‌స్టాల్ చేసిన తర్వాత మాడ్యూల్ సరిగ్గా ఏకీకృతం చేయబడిందని నిర్ధారిస్తుంది.

Node.js మరియు తెరవెనుక లోపాల కోసం స్క్రిప్ట్ పరిష్కారాలను అర్థం చేసుకోవడం

మొదటి స్క్రిప్ట్ సొల్యూషన్ Node.js ఎన్విరాన్‌మెంట్‌లో స్థానిక మాడ్యూళ్లను పునర్నిర్మించడం ద్వారా "సింబల్ కనుగొనబడలేదు" లోపాన్ని పరిష్కరించడంపై దృష్టి పెడుతుంది. ఇది ప్రభావితం చేస్తుంది షెల్ ఆదేశాలను నేరుగా Node.js స్క్రిప్ట్ నుండి అమలు చేయడానికి ఆదేశం. npm కాష్‌ని ఉపయోగించి క్లియర్ చేయడం ద్వారా ప్రక్రియ ప్రారంభమవుతుంది ఆదేశం. ఇది చాలా ముఖ్యం ఎందుకంటే npm మాడ్యూల్‌ల యొక్క పాత లేదా అననుకూల సంస్కరణలను కలిగి ఉండవచ్చు, ఇది రన్‌టైమ్ సమస్యలకు దారితీయవచ్చు. కాష్‌ను బలవంతంగా క్లియర్ చేయడం ద్వారా, ఆ లోపాలు కొనసాగే అవకాశాన్ని మేము తొలగిస్తాము. దీనిని అనుసరించి, స్క్రిప్ట్ వివిక్త-vm మాడ్యూల్‌ని పునర్నిర్మిస్తుంది , ఉపయోగించబడుతున్న సిస్టమ్ మరియు Node.js వెర్షన్ కోసం ఇది సరిగ్గా రీకంపైల్ చేయబడిందని నిర్ధారిస్తుంది.

పునర్నిర్మాణం పూర్తయిన తర్వాత, స్క్రిప్ట్ స్వయంచాలకంగా తెరవెనుక అభివృద్ధి సర్వర్‌ను అమలు చేయడం ద్వారా ప్రారంభిస్తుంది ఆదేశం. ఈ క్రమం గడువు ముగిసిన లేదా సరిగ్గా సంకలనం చేయని స్థానిక మాడ్యూల్స్ నుండి ఉత్పన్నమయ్యే ఏవైనా సమస్యలు ప్రాజెక్ట్ ప్రారంభించబడటానికి ముందే పరిష్కరించబడతాయని నిర్ధారిస్తుంది. సారాంశంలో, ప్రస్తుత సిస్టమ్ కాన్ఫిగరేషన్‌తో మాడ్యూల్ అనుకూలతకు నేరుగా లింక్ చేయబడిన సమస్యలను పరిష్కరించడానికి ఈ విధానం రూపొందించబడింది, ప్రత్యేకించి Node.js సంస్కరణలను అప్‌గ్రేడ్ చేసేటప్పుడు లేదా మార్చేటప్పుడు. ఇక్కడ ఉన్న కమాండ్‌లు మాడ్యూల్-స్థాయి లోపాలతో వ్యవహరించడానికి ప్రత్యేకంగా ఉంటాయి, ప్రత్యేకించి ఐసోలేటెడ్-vm వంటి స్థానిక పొడిగింపుల కోసం.

రెండవ స్క్రిప్ట్ సంభావ్యతను సూచిస్తుంది సమస్యలు. ఇది Node.js యొక్క అనుకూల సంస్కరణకు మారడానికి నోడ్ వెర్షన్ మేనేజర్ (NVM)ని ఉపయోగిస్తుంది, ఇది చాలా కీలకమైనది ఎందుకంటే కొన్ని స్థానిక మాడ్యూల్స్ Node.js యొక్క తాజా వెర్షన్‌లకు మద్దతు ఇవ్వకపోవచ్చు, ఇది మేము ప్రసంగిస్తున్నట్లుగా ఎర్రర్‌లకు దారి తీస్తుంది. స్క్రిప్ట్ మొదట Node.js వెర్షన్ 18ని ఇన్‌స్టాల్ చేస్తుంది, ఇది ఉపయోగించి అనేక మాడ్యూల్స్ కోసం మరింత స్థిరమైన మరియు మద్దతు ఉన్న వెర్షన్ . తో సరైన సంస్కరణకు మారిన తర్వాత , స్క్రిప్ట్ క్లియర్ చేస్తుంది నోడ్_మాడ్యూల్స్ డైరెక్టరీ మరియు ఉపయోగించి అన్ని డిపెండెన్సీలను మళ్లీ ఇన్‌స్టాల్ చేస్తుంది . డెవలప్‌మెంట్ సర్వర్‌ను ప్రారంభించే ముందు ఎంచుకున్న Node.js వెర్షన్ కోసం మాడ్యూల్స్ సరిగ్గా ఇన్‌స్టాల్ చేయబడిందని ఈ దశ నిర్ధారిస్తుంది.

పరిష్కారం యొక్క మూడవ భాగం సిస్టమ్ మారిన తర్వాత ఐసోలేటెడ్-vm మాడ్యూల్ యొక్క అనుకూలతను పరీక్షించడం. Node.js ఎకోసిస్టమ్‌లోని రెండు ప్రసిద్ధ టెస్టింగ్ ఫ్రేమ్‌వర్క్‌లైన మోచా మరియు చాయ్‌లను ఉపయోగించి స్క్రిప్ట్ యూనిట్ పరీక్షను సెటప్ చేస్తుంది. పరుగు ద్వారా , ఇది ఐసోలేటెడ్-vm మాడ్యూల్ సరిగ్గా పునర్నిర్మించబడి లోడ్ చేయబడిందో లేదో ధృవీకరిస్తుంది. మాడ్యూల్ నిర్వచించబడిందా మరియు లోపాలు లేకుండా మెమరీలోకి లోడ్ చేయబడుతుందా అని పరీక్ష స్వయంగా తనిఖీ చేస్తుంది. ఇది ఒక ముఖ్యమైన దశ ఎందుకంటే ఇది అభివృద్ధిని కొనసాగించడానికి ముందు పర్యావరణం లేదా మాడ్యూల్స్‌కు ఏవైనా మార్పులు ఊహించినట్లుగా పని చేస్తున్నాయని నిర్ధారిస్తుంది. ఈ స్క్రిప్ట్ పరిష్కారాల తర్వాత ఎటువంటి లోతైన సమస్యలు ఉండవని నిర్ధారించడానికి భద్రతా వలయాన్ని అందిస్తుంది.

Node.js బ్యాక్‌స్టేజ్ సెటప్‌లో చిహ్నాన్ని పరిష్కరించడంలో లోపం కనుగొనబడలేదు

Node.js బ్యాక్ ఎండ్ సొల్యూషన్: స్థానిక మాడ్యూళ్లను పునర్నిర్మించడం (ఉత్తమ అభ్యాసం)

// Step 1: Rebuild native Node.js modules after clearing npm cache
const { exec } = require('child_process');
exec('npm cache clean --force && npm rebuild isolated-vm', (error, stdout, stderr) => {
  if (error) {
    console.error(`Error during rebuild: ${error.message}`);
    return;
  }
  if (stderr) {
    console.error(`Rebuild stderr: ${stderr}`);
  }
  console.log(`Rebuild stdout: ${stdout}`);
});

// Step 2: Start Backstage after successful rebuild
exec('yarn dev', (error, stdout, stderr) => {
  if (error) {
    console.error(`Error starting Backstage: ${error.message}`);
    return;
  }
  if (stderr) {
    console.error(`Backstage startup stderr: ${stderr}`);
  }
  console.log(`Backstage started: ${stdout}`);
});

చిహ్నం కోసం Node.js సంస్కరణ అనుకూలత పరిష్కారం కనుగొనబడలేదు లోపం

Node.js మరియు NVM వెర్షన్ మేనేజ్‌మెంట్ సొల్యూషన్

// Step 1: Switch to a stable Node.js version using NVM
const { exec } = require('child_process');
exec('nvm install 18 && nvm use 18', (error, stdout, stderr) => {
  if (error) {
    console.error(`Error switching Node.js version: ${error.message}`);
    return;
  }
  console.log(`Switched Node.js version: ${stdout}`);
});

// Step 2: Reinstall project dependencies for the compatible version
exec('rm -rf node_modules && yarn install', (error, stdout, stderr) => {
  if (error) {
    console.error(`Error reinstalling dependencies: ${error.message}`);
    return;
  }
  console.log(`Dependencies reinstalled: ${stdout}`);
});

// Step 3: Start Backstage with the new Node.js version
exec('yarn dev', (error, stdout, stderr) => {
  if (error) {
    console.error(`Error starting Backstage: ${error.message}`);
    return;
  }
  console.log(`Backstage started: ${stdout}`);
});

ఐసోలేటెడ్ VM మాడ్యూల్ అనుకూలత కోసం పరీక్ష పరిష్కారం

మాడ్యూల్ అనుకూలత కోసం యూనిట్ పరీక్ష (మోచా/చాయ్ ఉపయోగించి)

// Step 1: Install Mocha and Chai for unit testing
exec('npm install mocha chai --save-dev', (error, stdout, stderr) => {
  if (error) {
    console.error(`Error installing Mocha/Chai: ${error.message}`);
    return;
  }
  console.log(`Mocha/Chai installed: ${stdout}`);
});

// Step 2: Create a unit test for the isolated-vm module
const assert = require('chai').assert;
const isolatedVM = require('isolated-vm');

describe('Isolated VM Module Test', () => {
  it('should load the isolated-vm module without errors', () => {
    assert.isDefined(isolatedVM, 'isolated-vm is not loaded');
  });
});

// Step 3: Run the test using Mocha
exec('npx mocha', (error, stdout, stderr) => {
  if (error) {
    console.error(`Test execution error: ${error.message}`);
    return;
  }
  console.log(`Test result: ${stdout}`);
});

Node.js స్థానిక మాడ్యూల్స్ మరియు అనుకూలత సమస్యలను అన్వేషించడం

Node.jsలో "సింబల్ కనుగొనబడలేదు" వంటి లోపాలతో వ్యవహరించేటప్పుడు పరిగణించవలసిన ఒక ముఖ్యమైన అంశం Node.js యొక్క విభిన్న సంస్కరణలతో స్థానిక మాడ్యూల్‌ల అనుకూలత. స్థానిక మాడ్యూల్స్, వంటివి , C++లో వ్రాయబడ్డాయి మరియు ఇచ్చిన Node.js రన్‌టైమ్‌తో ప్రత్యేకంగా పని చేయడానికి కంపైల్ చేయబడతాయి. Node.js యొక్క కొత్త వెర్షన్‌లను ఉపయోగిస్తున్నప్పుడు, ముఖ్యంగా ఈ సందర్భంలో వెర్షన్ 22 లాగా, Node.js API లేదా రన్‌టైమ్ ప్రవర్తనలో మార్పుల కారణంగా పాత స్థానిక మాడ్యూల్‌లు సరిగ్గా పని చేయకపోవచ్చు.

మరొక క్లిష్టమైన అంశం ఏమిటంటే ట్రాక్ చేయడం యొక్క ప్రాముఖ్యత మరియు ప్రాజెక్ట్‌లో వాటి వెర్షన్‌లు. NVM (నోడ్ వెర్షన్ మేనేజర్) వంటి సాధనాలను ఉపయోగించడం వలన డెవలపర్‌లు నిర్దిష్ట మాడ్యూల్‌లతో అనుకూలతను పరీక్షించడానికి Node.js సంస్కరణల మధ్య సులభంగా మారడానికి అనుమతిస్తుంది. ఈ వశ్యత అభివృద్ధి ప్రక్రియలో నిరాశపరిచే లోపాలను నిరోధించవచ్చు. బ్యాక్‌స్టేజ్ వంటి అనేక కాంప్లెక్స్ మాడ్యూల్స్‌పై ఆధారపడి ఉండే ప్రాజెక్ట్‌లలో, మీ డెవలప్‌మెంట్ ఎన్విరాన్‌మెంట్ సరైన Node.js వెర్షన్‌తో సమలేఖనం చేయబడిందని నిర్ధారించుకోవడం చాలా అవసరం.

చివరగా, నిర్దిష్ట లోపాన్ని అర్థం చేసుకోవడం విలువైన అంతర్దృష్టులను అందిస్తుంది. ఈ సందర్భంలో దోష సందేశం సమస్యను హైలైట్ చేస్తుంది , ఇది రన్‌టైమ్‌లో డైనమిక్ లైబ్రరీలను లోడ్ చేస్తుంది. అననుకూల Node.js సంస్కరణలు లేదా పాత స్థానిక మాడ్యూల్ బైనరీల కారణంగా లైబ్రరీలను తప్పుగా లింక్ చేయడం వల్ల ఈ వైఫల్యం తరచుగా సంభవిస్తుంది. Node.js సంస్కరణలను అప్‌గ్రేడ్ చేస్తున్నప్పుడు స్థానిక మాడ్యూళ్లను క్రమం తప్పకుండా నవీకరించడం మరియు పునర్నిర్మించడం అటువంటి సమస్యలను నివారించవచ్చు, మీ బ్యాక్‌స్టేజ్ డెవలప్‌మెంట్ ఎన్విరాన్‌మెంట్ క్రియాత్మకంగా మరియు తాజాగా ఉండేలా చూసుకోవచ్చు.

  1. Node.jsలో "సింబల్ కనుగొనబడలేదు" లోపం ఏమిటి?
  2. స్థానిక మాడ్యూల్ వంటిది ఉన్నప్పుడు ఈ లోపం సంభవిస్తుంది , ప్రస్తుత Node.js సంస్కరణకు అనుకూలంగా లేదు మరియు లోడ్ చేయడంలో విఫలమైంది.
  3. "సింబల్ కనుగొనబడలేదు" లోపాన్ని నేను ఎలా పరిష్కరించగలను?
  4. మీరు ఉపయోగించి మాడ్యూల్‌ను పునర్నిర్మించడానికి ప్రయత్నించవచ్చు లేదా ఉపయోగించి అనుకూల Node.js సంస్కరణకు మారడం .
  5. Node.jsలో స్థానిక మాడ్యూల్ ఎర్రర్‌లకు కారణమేమిటి?
  6. స్థానిక మాడ్యూల్ వేరే Node.js వెర్షన్ కోసం రూపొందించబడినప్పుడు లేదా డిపెండెన్సీలు పాతబడినప్పుడు లేదా తప్పుగా కాన్ఫిగర్ చేయబడినప్పుడు ఈ లోపాలు సాధారణంగా సంభవిస్తాయి.
  7. npm కాష్‌ని క్లియర్ చేయడం ఎందుకు అవసరం?
  8. ఉపయోగించి కాష్ నుండి పాత లేదా పాడైన ఫైల్‌లను తీసివేస్తుంది, మాడ్యూల్ రీబిల్డ్ సమయంలో సమస్యలను కలిగించకుండా నిరోధిస్తుంది.
  9. నేను బ్యాక్‌స్టేజ్‌తో Node.js యొక్క ఏదైనా సంస్కరణను ఉపయోగించవచ్చా?
  10. ఎప్పుడూ కాదు. Node.js యొక్క నిర్దిష్ట సంస్కరణలు బ్యాక్‌స్టేజ్‌లో ఉపయోగించిన మాడ్యూల్‌లకు విరుద్ధంగా ఉండవచ్చు, దీనితో సంస్కరణ నిర్వహణ అవసరమైన.

బ్యాక్‌స్టేజ్‌లో "సింబల్ కనుగొనబడలేదు" లోపాన్ని పరిష్కరించడానికి Node.js సంస్కరణలు మరియు స్థానిక మాడ్యూళ్ల మధ్య అనుకూలత సమస్యలను పరిష్కరించడం అవసరం. Node.js సంస్కరణలను నిర్వహించడానికి NVMని ఉపయోగించడం మరియు మాడ్యూల్‌లను పునర్నిర్మించడం ద్వారా ఈ సమస్యను సమర్ధవంతంగా పరిష్కరించవచ్చు.

ఐసోలేటెడ్-vm వంటి మాడ్యూల్స్ సరిగ్గా పునర్నిర్మించబడ్డాయని లేదా మళ్లీ ఇన్‌స్టాల్ చేయబడిందని నిర్ధారించుకోవడం పునరావృత సమస్యలను నివారిస్తుంది. అనుకూలమైన డిపెండెన్సీలతో మీ అభివృద్ధి వాతావరణాన్ని తాజాగా ఉంచడం భవిష్యత్తులో ఇలాంటి సమస్యలను నివారించడానికి కీలకం.

  1. తెరవెనుక సెటప్ మరియు IBM MQ డెవలపర్ ట్యుటోరియల్‌తో దాని ఏకీకరణ గురించి వివరిస్తుంది. పూర్తి గైడ్‌ని ఇక్కడ యాక్సెస్ చేయండి: IBM డెవలపర్ ట్యుటోరియల్ .
  2. Node.jsని ఉపయోగించడం మరియు ఐసోలేటెడ్-vm వంటి స్థానిక మాడ్యూళ్లను నిర్వహించడంపై వివరణాత్మక సూచన: Node.js డాక్యుమెంటేషన్ .
  3. చిహ్నాన్ని పరిష్కరించడంలో అదనపు వనరులు కనుగొనబడలేదు లోపాలు మరియు Node.js సంస్కరణ నిర్వహణ: NVM GitHub రిపోజిటరీ .