Amazon Linux पर Node.JS को कैसे इंस्टॉल करें


251

मैंने निर्भरता स्थापित करने के लिए यम का उपयोग करने पर राइटअप देखा है, और फिर स्रोत से Node.JS और NPM स्थापित किया है। हालांकि यह काम करता है, मुझे ऐसा लगता है कि Node.JS और NPM दोनों को कहीं न कहीं पब्लिक रेपो में होना चाहिए।

मैं AWS अमेज़न लिनक्स पर एक कमांड में Node.JS और NPM कैसे स्थापित कर सकता हूँ?


जवाबों:


396

इस पर ठोकर खाई, बाद में फिर से खोजना बहुत मुश्किल था। यहाँ पोस्टिंग के लिए डाल:

sudo yum install nodejs npm --enablerepo=epel

EDIT 3: जुलाई 2016 तक, EDIT 1 अब नोडज 4 (और) के लिए काम नहीं करता है EDIT 2 न तो) के । यह उत्तर ( https://stackoverflow.com/a/35165401/78935 ) एक सही एक-लाइनर देता है।

संपादित करें 1: यदि आप नोडज 4 की तलाश कर रहे हैं, तो कृपया ईपीईएल परीक्षण रेपो का प्रयास करें:

sudo yum install nodejs --enablerepo=epel-testing

EDIT 2: ईपीईएल रेपो के माध्यम से स्थापित नोडज 0.12 से अपग्रेड करने के लिए ऊपर दिए गए कमांड का उपयोग करके ईपीईएल परीक्षण रेपो से नोडज 4 तक, कृपया इन चरणों का पालन करें:

sudo yum rm nodejs
sudo rm -f /usr/local/bin/node
sudo yum install nodejs --enablerepo=epel-testing

नए पैकेजों ने नोड बायनेरिज़ को अंदर रखा /usr/bin इसके बजाय/usr/local/bin

और कुछ पृष्ठभूमि:

विकल्प --enablerepo=epelyum EPEL रिपॉजिटरी में संकुल की खोज कारण बनता है।

ईपीईएल (एंटरप्राइज लिनक्स के लिए अतिरिक्त पैकेज) फेडोरा टीम से खुला स्रोत और मुक्त समुदाय आधारित रिपोजिटरी प्रोजेक्ट है जो आरएचईएल (रेड हैट एंटरप्राइज लिनक्स), सेंटो और वैज्ञानिक लिनक्स सहित लिनक्स वितरण के लिए 100% उच्च गुणवत्ता वाला ऐड-ऑन सॉफ्टवेयर पैकेज प्रदान करता है। एपल परियोजना RHEL / Cent OS का हिस्सा नहीं है, लेकिन यह नेटवर्किंग, sys व्यवस्थापक, प्रोग्रामिंग, निगरानी और इतने पर जैसे कई ओपन सोर्स पैकेज प्रदान करके प्रमुख लिनक्स वितरण के लिए डिज़ाइन किया गया है। अधिकांश एपेल पैकेज फेडोरा रेपो द्वारा बनाए रखा जाता है।

Via http://www.tecmint.com/how-to-enable-epel-repository-for-rhel-centos-6/5


8
यह निश्चित रूप से सबसे तेज़ दृष्टिकोण है जिसे मैंने देखा है, लेकिन एक चेतावनी उपयोगी हो सकती है - ईपीईएल रिपॉजिटरी वर्तमान स्थिर नोड के साथ सिंक में नहीं है, और आप इसे ठीक करने के लिए "एन" का उपयोग नहीं कर सकते हैं जब इसे स्थापित किया गया हो। रास्ता (कम से कम, बिना किसी प्रकार के जादू के जो मेरे से परे है)। थकाऊ git क्लोन / मेक इनस्टॉल एप्रोच एक ही तरीका है जिससे मैंने एक सुसंगत और करंट इंस्टाल सुनिश्चित किया है।
अर्धविराम

22
मुझे इसमें से नोड 0.10.36 और npm 1.3.6 मिला। ये बहुत पुराने हैं।
वॉल्ट्रेवो

4
@ सीमिकोलोन आप केवल npm, तब sudo npm install -g nऔर sudo n v0.12या जो भी अन्य संस्करण आपको पसंद करते हैं , उसके द्वारा प्राप्त कर सकते हैं।
अनबाउंडव

4
n अद्यतन अपेक्षा के अनुसार, लेकिन यह नोड लिंक को ठीक से अद्यतन नहीं करता है। आपको अतिरिक्त कमांड चलाना होगा:sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/node
मसाडो

4
यह उत्तर sudo yum install nodejs --enablerepo=epel-testingत्रुटि के बाद से काम नहीं करता है : "कोई पैकेज उपलब्ध नहीं है।" जबकि sudo yum install nodejs --enablerepo=epelकेवल बहुत पुराने संस्करणों दिया ...
goredwards

224

दूसरों की तरह, स्वीकृत उत्तर ने मुझे एक पुराना संस्करण भी दिया।

यहाँ यह करने का एक और तरीका है जो बहुत अच्छा काम करता है:

$ curl --silent --location https://rpm.nodesource.com/setup_12.x | bash -
$ yum -y install nodejs

आप 12.x को दूसरे संस्करण से भी बदल सकते हैं, जैसे 10.x, 8.x आदि।

आप NodeSource Github पृष्ठ पर सभी उपलब्ध संस्करण देख सकते हैं , और यदि वांछित है तो वहाँ से भी खींच सकते हैं।

नोट: आपको sudoअपने वातावरण के आधार पर उपयोग करने की आवश्यकता हो सकती है।


4
यह वही है जो मुझे पहले से इंस्टॉल किए गए संस्करण की तुलना में अधिक नवीनतम संस्करण प्राप्त करने के लिए AWS इलास्टिक बीनस्टॉक पर उपयोग करने की आवश्यकता थी।
जॉन बर्गेस

1
ठीक उसी समय काम करता है जब मुझे दौड़ने की आवश्यकता होती npm installहै package.json,
चेतबाहन

32
मुझे curl --silent --location https://rpm.nodesource.com/setup_4.x | sudo bash -
user465342

16
यदि आपको अनुमति नहीं मिलती है, तो आपको कुछ sudo जोड़ने होंगे। curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -औरsudo yum -y install nodejs
सम्पोह

1
अगर आप Node.js 8.x स्थापित करना चाहते हैं, तो जोर से निष्पादित करेंcurl --silent --location https://rpm.nodesource.com/setup_8.x | bash -
Argun

64

स्वीकृत उत्तर ने मुझे नोड 0.10.36 और npm 1.3.6 दिया जो बहुत पुराने हैं। मैंने नोडज डाउनलोड पेज से नवीनतम लिनक्स-एक्स 64 टारबॉल को पकड़ा और इसे स्थापित करना बहुत मुश्किल नहीं था: https://nodejs.org/dist/latest/

# start in a directory where you like to install things for the current user
(For noobs : it downloads node package as node.tgz file in your directlry)
curl (paste the link to the one you want from the downloads page) >node.tgz

अब आपके द्वारा डाउनलोड किए गए टार को ऊपर उठाएं -

tar xzf node.tgz

इस कमांड को चलाएं और फिर इसे अपने साथ जोड़ें .bashrc:

export PATH="$PATH:(your install dir)/(node dir)/bin"

(उदाहरण: PATH = "$ PATH: /home/ec2-user/mydirectory/node/node4.5.0-linux-x64/bin" निर्यात करें

और अपडेट करें npm(केवल एक बार, न जोड़ें .bashrc):

npm install -g npm

ध्यान दें कि -gवहाँ जो वैश्विक मतलब है, वास्तव में वैश्विक मतलब है कि npm उदाहरण के लिए, उदाहरण है जो हम अभी स्थापित है और वर्तमान उपयोगकर्ता तक सीमित है। यह उन सभी पैकेजों पर लागू होगा जो npm 'विश्व स्तर पर' स्थापित करता है।


4
यह वास्तव में सबसे अच्छा जवाब है, जैसा कि आप चाहते हैं कि वास्तव में संस्करण प्राप्त करें
Mariusz

1
काश मैं इस उत्तर को पहले पढ़ता - यह स्वीकृत उत्तर होना चाहिए क्योंकि आप चुन सकते हैं कि आप किस संस्करण को स्थापित करना चाहते हैं। - साभार @voltrevo
माइक डब्ल्यू

2
@voltrevo उत्तर के लिए धन्यवाद। हां, लिनक्स पर नोड स्थापित करने के अन्य तरीके हैं। स्वीकृत उत्तर एक-लाइनर है, जो स्वचालित और प्रबंधित अपडेट के लिए YUM पैकेज सिस्टम में प्लग करने के लिए होता है। YUM रेपो में पैकेज थोड़े पुराने होते हैं, और व्यापक तैनाती के साथ थोड़ा बेहतर परीक्षण भी किया जाता है। व्यक्तिगत रूप से, मैं नवीनतम और महानतम स्थानीय विकास परिवेशों को छोड़ने की सलाह देता हूं, और उत्पादन वातावरण के लिए स्वीकृत उत्तर जैसे कुछ और उपयोग करता हूं। चीयर्स!
टिम फुलमर

पुराने सेंटोस संस्करणों के लिए यह जाने का सबसे अच्छा तरीका है
user1336321

नोड -v चलाने के बाद त्रुटि अब है: 'बाइनरी फ़ाइल निष्पादित नहीं कर सकता'। कोई विचार?
जोसफ्रे

28

मेरे लिए काम करने वाली प्रक्रिया ( कुछ अपडेट के साथ इन पुराने निर्देशों का पालन करते हुए):

  • चेक गिट स्थापित है git --versionया इसके माध्यम से स्थापित करें:
    sudo yum install git
  • जीसीसी और ओपनएसएल स्थापित करें:
    sudo yum install gcc-c++ make
    sudo yum install openssl-devel
  • एक निर्देशिका में गिट रेपो को क्लोन किया node(जिसे आप बाद में हटा सकते हैं):
    git clone https://github.com/nodejs/node.git
  • तय करें कि आप नोड का कौन सा संस्करण https://github.com/nodejs/node/releases पर चाहते हैं
  • नोड डायरेक्टरी पर जाएं और नोड स्थापित करें
    cd node
    git checkout v6.1.0- नोड के बाद अपना वांछित संस्करण डालेंv
    ./configure
    make
    sudo make install
  • परीक्षण नोड स्थापित किया गया है कि / या तो साथ काम कर रहे node --versionहैं या बस node(निकास के माध्यम से नोड process.exit()या ^Cएक्स 2 या ^C+exit )
  • npm संस्करण की जाँच करें: npm --versionऔर यदि आवश्यक हो तो अद्यतन करेंsudo npm install -g npm
  • वैकल्पिक: के nodeसाथ निर्देशिका को हटा देंrm -r node

टिप्पणियाँ:

  1. स्वीकार किए गए उत्तर ने sudo yum install nodejs --enablerepo=epel-testingत्रुटि के बाद से काम नहीं किया : No package nodejs available.
    ... और sudo yum install nodejs --enablerepo=epel(यानी बिना -testing) केवल बहुत पुराने संस्करण दिए।
  2. यदि आपके पास पहले से नोड का पुराना संस्करण स्थापित है, तो आप इसे इसके साथ हटा सकते हैं:
    sudo npm uninstall npm -g ... क्योंकि npm खुद को अनइंस्टॉल कर सकता है
    sudo yum erase nodejs
    sudo rm -f /usr/local/bin/node
    ( sudo yum rm nodejsस्वीकृत उत्तर में काम नहीं करेगा, क्योंकि rmयह मान्य yum कमांड नहीं है yum --help)
  3. इसके git clone git://github.com/nodejs/node.gitबजाय नोड रेपो को क्लोन करना संभव है , git clone https://github.com/nodejs/node.gitलेकिन आपको विभिन्न त्रुटियां हो सकती हैं ( यहां देखें )।
  4. यदि आपके पास पहले /nodeसे ही एक पिछली स्थापना है, तो इसे git क्लोन कमांड का उपयोग करने से पहले हटा दें (या एक संघर्ष होगा):
    rm -r node
  5. यदि आपको किसी भी sudo npm...कमांड से परेशानी है - जैसे sudo: npm: command not foundऔर / या बिना सूडो पैकेज के नोड पैकेज स्थापित करने की अनुमति है, तो पंक्ति के अंत में संपादित करें sudo nano /etc/sudoersऔर जोड़ें ताकि यह पढ़े:/usr/local/binDefaults secure_path = /sbin:/bin:/usr/sbin:/usr/binDefaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin

3
@ अन्य बहुत सारे जवाबों में से चुनने के लिए कि क्या यह आपको खुश नहीं करता ;-) ... 'एक आदेश में' प्रश्न IMHO का सबसे महत्वपूर्ण हिस्सा नहीं था।
गोरक्षक

यह बहुत उपयोगी है जब मैंने स्वीकार किए गए उत्तर के साथ गलती की। धन्यवाद
डारोन तन्खारोएन

@talentedandrew ने etc/sudoersफ़ाइल नियंत्रण जो कौन से कमांड को चला सकता है जो उपयोगकर्ताओं को किस मशीनों पर - लेकिन केवल चलाएगा / उसके secure_pathनोड में सूचीबद्ध निर्देशिकाओं में कमांड के लिए खोज / देखेगा /usr/local/binऔर यदि उसमें sudo को इसे ढूंढना चाहिए - तो stackoverflow देखें .com / a / 31734090/3092596 अगर sudo नहीं मिलता है, तो उस रास्ते को sudo में जोड़ना होगा secure_path- यह भी देखें: superuser.com/a/927599/404543
goredwards

मैं यह जोड़ना चाहूंगा कि इस पद्धति का उपयोग करने के बाद आपको अपने प्रतीकात्मक लिंक को ठीक करना पड़ सकता है: sudo ln -s /usr/local/bin/node /usr/bin/node sudo ln -s /usr/local/lib/node /usr/lib/node sudo ln -s /usr/local/bin/npm /usr/bin/npm sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf
BuffMcBigHuge

23

NVM के साथ इंस्टॉल करें ...

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
. ~/.nvm/nvm.sh
nvm install node

नोड के एक निश्चित संस्करण (जैसे 12.16.3) को स्थापित करने के लिए अंतिम पंक्ति को बदल दें

nvm install 12.16.3

NVM का उपयोग कैसे करें के बारे में अधिक जानकारी के लिए डॉक्स देखें: https://github.com/nvm-sh/nvm


1
यह पूरी तरह से काम करता है। @ समय के उत्तर की तुलना में कम समय लगता है। अमेज़न ईसीएस पर आधारित एएमआई अनुकूलित।
जयंत भावल

3
स्वीकृत उत्तर और EDITs 1-3 के सभी ने मेरे लिए काम नहीं किया, लेकिन यह काम किया। धन्यवाद!
seantomburke

1
साफ और कॉम्पैक्ट।
स्टीफन टेट्र्टेल्ट

1
सरल और भयानक
अभिनव

2
इसका उत्तर होना चाहिए। यह तब तक सबसे अच्छा है जब तक कोई स्रोत से निर्माण करना नहीं चाहता।
किर्कलैंड

19

V4 LTS संस्करण उपयोग के लिए:

curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
yum -y install nodejs

Node.js v6 उपयोग के लिए:

curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
yum -y install nodejs

अमेज़ॅन लिनक्स पर देशी ऐडऑन को स्थापित करने का प्रयास करते समय मैं कुछ समस्याओं में भाग गया। यदि आप ऐसा करना चाहते हैं तो आपको बिल्ड टूल भी स्थापित करना चाहिए:

yum install gcc-c++ make

यह एक शानदार जवाब है। अब मुझे नोड स्थापित करने में 20 मिनट नहीं लगते।
डेविड वेबर

यदि आप लोचदार बीनस्टॉक पर कुछ npm संकलित दृश्यपटल के साथ php एप्लिकेशन चलाते हैं, तो आप इसका उपयोग कर सकते हैं। यह मेरी install.config फ़ाइल का हिस्सा है जिसने इसे काम किया है - gist.github.com/marekjalovec/1ccee0c2254e65fc5d82eb35c7da82ae
Marek Jalovec

14

मैं अभी इस पार आया था। मैंने कुछ अधिक लोकप्रिय उत्तरों की कोशिश की, लेकिन अंत में, मेरे लिए जो काम किया वह अमेज़ॅन का त्वरित सेटअप गाइड था।

ट्यूटोरियल: अमेज़न EC2 इंस्टेंस पर Node.js सेट करना

ट्यूटोरियल का सार है:

  1. सुनिश्चित करें कि आप उदाहरण के लिए ssh'd हैं।
  2. एनवीएम पकड़ो: curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
  3. सक्रिय . ~/.nvm/nvm.sh
  4. Nvm का उपयोग करके नोड स्थापित करें nvm install 4.4.5(नोट: आप एक अलग संस्करण चुन सकते हैं। दूरस्थ संस्करणों को पहले चलाकर देखें$ nvm ls-remote )
  5. अंत में, परीक्षण करें कि आपने नोड नोड को सही ढंग से चलाकर स्थापित किया है $ node -e "console.log('Running Node.js' + process.version)"

उम्मीद है कि इससे अगले व्यक्ति को मदद मिलेगी।


आप उस लिंक में ते सामग्री की व्याख्या करना चाह सकते हैं। एक अच्छा उत्तर केवल एक लिंक को संदर्भ के रूप में उपयोग करता है, उत्तर का मुख्य विषय नहीं।
२२:०३ पर

6

लगता है कोई भी इसका उल्लेख नहीं कर रहा है। पर अमेज़न लिनक्स 2 , EPEL लोड करने के लिए सरकारी तरीका है:

  • sudo amazon-linux-extras install epel

... तो आप कर सकते हैं:

  • sudo yum install nodejs

     

देखें एक्सट्रैस लाइब्रेरी (अमेज़ॅन लिनक्स 2)


अच्छी तरह से यह सबसे अच्छा जवाब की तरह लगता है!
स्ट्रेच

@ खिंचाव वास्तव में नहीं। यह नोड 6 को स्थापित करता है। बहुत पुराना।
गेब्रियलबी

5

मेरे पास Node.js 6.x स्थापित था और Node.js 8.x स्थापित करना चाहता था।

यहां मैंने जो कमांड का उपयोग किया है ( यम कैश्ड डेटा को संभालने के लिए कुछ अतिरिक्त चरणों के साथ नोड्स की साइट से लिया गया है ):

  1. sudo yum remove nodejs: Node.js 6.x की स्थापना रद्द करें (मुझे नहीं पता कि यह आवश्यक था या नहीं)
  2. curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
  3. sudo yum clean all
  4. sudo yum makecache: मेटाडेटा कैश पुन: बनाएँ (यह डॉक्स में नहीं था, लेकिन yum ने Node.jx 6.x को स्थापित करने का प्रयास जारी रखा, असफल, जब तक कि मैंने ये अंतिम दो आदेश जारी नहीं किए)
  5. sudo yum install nodejs: Node.js 8.x स्थापित करें

3

sudo yum install nodejs npm --enablerepo=epelके लिए काम करता है Amazon Linux AMI curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - yum -y install nodejs RedHat के लिए काम करता है।


2

सबसे आसान समाधान यह है (इन्हें जड़ के रूप में देखें)

sudo su root
cd /etc
mkdir node
yum install wget
wget https://nodejs.org/dist/v9.0.0/node-v9.0.0-linux-x64.tar.gz
tar -xvf node-v9.0.0-linux-x64.tar.gz
cd node-v9.0.0-linux-x64/bin
./node -v
ln -s /etc/node-v9.0.0-linux-x64/bin/node node

यहां छवि विवरण दर्ज करें


धन्यवाद, यह मदद की
arupjbasu


1

EC2- इंस्टेंस के लिए आधिकारिक दस्तावेज मेरे लिए काम करता है: https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-up-node-on-ec2-instance.html

 1. curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
 2. . ~/.nvm/nvm.sh
 3. nvm ls-remote (=> find your version x.x.x =>) nvm install  x.x.x
 4. node -e "console.log('Running Node.js ' + process.version)"

0

जैसा कि आधिकारिक दस्तावेज में बताया गया है, 2 चरणों के नीचे सरल है -

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs

0

उन लोगों के लिए जो बिना किसी खोज के उत्तर देने योग्य उत्तर देना चाहते हैं, मैं यहां कार्य को सुविधा और भविष्य के संदर्भ के लिए पोस्ट करता हूं।

स्वीकृत उत्तर अनुशंसा: https://stackoverflow.com/a/35165401/78935

सम्यक कार्य समतुल्य

tasks:
  - name: Setting up the NodeJS yum repository
    shell: curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
    args:
      warn: no
  # ...

0

आप अपडेट किए गए पैकेज को वर्तमान संस्करण के लिए स्थापित पैकेज को फिर से इंस्टॉल करके अपडेट / इंस्टॉल कर सकते हैं जो अपडेट करते समय हमें त्रुटियों से बचा सकता है।

यह नीचे दिए गए कमांड के साथ एनवीएम द्वारा किया जाता है। यहां, मैंने अपने नोड संस्करण को 8 में अपडेट किया है और सभी उपलब्ध पैकेजों को v8 में भी पुनर्स्थापित किया है!

nvm i v8 --reinstall-packages-from=default

यह AWS लिनक्स उदाहरण पर भी काम करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.