OS X पर brew, node.js, io.js, nvm, npm को स्थापित करने का सुझाया तरीका क्या है?


175

मैं जितना संभव हो सके homebrew का उपयोग करने की कोशिश कर रहा हूं। OS X पर निम्नलिखित को स्थापित करने का सुझाया तरीका क्या है?

और उम्मीद है कि इसके लिए विकास का समर्थन करता है:


9
यह ध्यान दिया जाना चाहिए कि यद्यपि आपने होमब्रे का उपयोग करने के लिए कहा है। Nvm स्थापित करने के लिए homebrew का उपयोग से अनुशंसित नहीं है github.com/creationix/nvm "Homebrew स्थापना समर्थित नहीं है। आप homebrew से स्थापित nvm साथ कोई समस्या है तो यह स्थापना रद्द करें शराब बनाना कृपया, और यह नीचे दिए गए निर्देशों का उपयोग कर, स्थापित एक मुद्दा दायर करने से पहले । "
एरिक

जवाबों:


267
  1. homebrewइंस्टॉल का उपयोग करना nvm:

    brew update
    brew install nvm
    source $(brew --prefix nvm)/nvm.sh

    अंतिम आदेश जोड़ें .profile, .bashrcया .zshrcफ़ाइल को हर टर्मिनल प्रारंभ पर इसे फिर से नहीं चलाने के लिए। उदाहरण के लिए इसे .profileरन में जोड़ने के लिए:

    echo "source $(brew --prefix nvm)/nvm.sh" >> ~/.profile

    आप को स्थापित करने के साथ परेशानी है, तो nvmका उपयोग कर brewआप इसे मैन्युअल रूप स्थापित कर सकते हैं (देखें यहाँ )

  2. nvmइंस्टॉल का उपयोग करना nodeया iojs(आप अपने इच्छित किसी भी संस्करण को स्थापित कर सकते हैं):

    nvm install 0.10
    # or
    nvm install iojs-1.2.0
  3. npmके साथ शिपिंग node(या iojs) है, इसलिए यह स्थापित करने node(या iojs) के बाद उपलब्ध होगा । आप इसे नवीनतम संस्करण में अपग्रेड करना चाहते हैं:

    $ npm install -g npm@latest

    युपीडी पिछला संस्करण था npm update -g npm। @Metallica को सही तरीके से इंगित करने के लिए धन्यवाद (टिप्पणी को देखें)।

  4. npmइंस्टॉल का उपयोग करना ionic:

    npm install -g ionic
  5. क्या बारे में ngCordova: आप का उपयोग कर स्थापित कर सकते हैं npmया bower। मुझे नहीं पता कि आपके लिए कौन सा संस्करण अधिक उपयुक्त है, यह उस पैकेज प्रबंधक पर निर्भर करता है जिसका आप ग्राहक पक्ष के लिए उपयोग करना चाहते हैं। तो मैं उन दोनों का वर्णन करूंगा:

    1. उपयोग करनाnpm : अपने प्रोजेक्ट फ़ोल्डर में जाएं और ng-cordovaउसमें इंस्टॉल करें :

      npm install --save ng-cordova
    2. प्रयोगbower : स्थापित करने वाला:

       npm install -g bower

      और फिर अपने प्रोजेक्ट फ़ोल्डर में जाएं और ngCordovaउसमें इंस्टॉल करें :

       bower install --save ngCordova

पुनश्च

  1. कुछ आदेशों के लिए सुपर्यूसर विशेषाधिकार की आवश्यकता हो सकती है
  2. का लघु रूप npm install some_moduleहैnpm i some_module

10
यदि आप स्वयं npm को अपडेट करते हैं , तो npm अपडेट कमांड का उपयोग न करें। npm install -g npm@latestbrew info node
Npm

10
वर्तमान ब्रूव एनवीएम इंस्टाल से: "कृपया ध्यान दें कि अपस्ट्रीम ने हमें होमब्रे के माध्यम से स्पष्ट प्रबंध एनवीएम बनाने के लिए कहा है। उनके द्वारा असमर्थित है ..." -> तो शायद सही उत्तर एनवीएम / नोड्स के लिए काढ़ा का उपयोग नहीं करना है। आईजी / आईओ .js।
एस। डैनियल

7
मैं त्रुटि संदेश प्राप्त कर रहा था "एनवीएम एनपीएम कॉन्फिगर" उपसर्ग "विकल्प" के साथ संगत नहीं है। इस साइट ( github.com/creationix/nvm/issues/855#issue-109279804 ) के अनुसार , NVM Homebrew के साथ संगत नहीं है। मैंने "ब्रुअ अनइंस्टॉल किया हुआ एनवीएम" और CURL कमांड के माध्यम से एनवीएम स्थापित किया है और अब त्रुटि संदेश चला गया है।
YeeHaw1234

4
मैं थोड़ी देर के लिए काढ़ा के माध्यम से nvm का उपयोग किया, लेकिन "अपस्ट्रीम ... स्पष्ट ... असमर्थित" संदेश भी मिला। NVM डॉक्स स्पष्ट रूप से कहते हैं "होमब्रेव इंस्टॉलेशन समर्थित नहीं है। यदि आपके पास होमब्रेव-स्थापित एनवीएम के साथ समस्याएँ हैं, तो कृपया इसे अनइंस्टॉल करें और इसे जारी करने से पहले नीचे दिए गए निर्देशों का उपयोग करके इंस्टॉल करें।" तो यह शायद स्वीकृत उत्तर नहीं होना चाहिए। मैंने अभी n का उपयोग करना शुरू किया है जो काम करता है।
whatsthatitspat 19

3
वर्तमान एनवीएम संस्करण (v0.33.2) होमब्रेव इंस्टॉलेशन का समर्थन नहीं करता है: देखें: github.com/creationix/nvm/tree/v0.33.2#installation
एंड्रिया काररो

45

2019 अपडेट: नोड स्थापित करने के लिए एनवीएम का उपयोग करें, न कि होमब्रे

जवाब में से अधिकांश में, की सिफारिश की nvm स्थापित करने के लिए जिस तरह से उपयोग करने के लिए है Homebrew

ऐसा मत करो

Nvm के लिए Github पेज पर यह स्पष्ट रूप से कहा जाता है:

Homebrew स्थापना समर्थित नहीं है। यदि आपके पास होमब्रेव-स्थापित एनवीएम के साथ समस्याएं हैं, तो कृपया इसे अनइंस्टॉल करें, और समस्या दर्ज करने से पहले इसे नीचे दिए गए निर्देशों का उपयोग करके इंस्टॉल करें।

इसके बजाय निम्न विधि का उपयोग करें

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

स्क्रिप्ट nvm रिपॉजिटरी को ~ / .nvm पर क्लोन करती है और सोर्स लाइन को आपकी प्रोफाइल में जोड़ती है (~ / .bash_profile, ~ / .zshrc, ~ / .profile, या ~ / .bashrc)।

और फिर नोड स्थापित करने के लिए nvm का उपयोग करें। उदाहरण के लिए नवीनतम LTS संस्करण स्थापित करें:

nvm install v8.11.1

स्वच्छ और परेशानी मुक्त। यह आपके डिफ़ॉल्ट नोड संस्करण के रूप में चिह्नित करेगा और साथ ही आपको सभी सेट होना चाहिए


2
मुझे लगता है कि आप nvm install --ltsनवीनतम LTS
skube

1
इसे लाने के लिए धन्यवाद, मैं nvm और homebrew के साथ एक भयानक खरगोश छेद नीचे गया और बस उभरा ...
cssidy

अच्छा उत्तर! पढ़ने (नोड इंस्टॉल पर एक सुरंग हो सकता है) का एक बहुत बाद, मैं बस से अनइंस्टॉल नोड, साफ सब कुछ और अधिक इस्तेमाल किया nvm शराब बनाना मोजावे 10.14.4 पर नोड स्थापित करने के लिए: stackoverflow.com/q/55735701/123033
डेव Everitt

13

मैं n (नोड संस्करण प्रबंधन) का उपयोग कर रहा हूँ

आप इसे दो तरीकों से स्थापित कर सकते हैं

brew install n

या

npm install -g n

आप नोड और io के विभिन्न संस्करण के बीच स्विच कर सकते हैं। जब मैं बिना पैरा के n को कॉल करता हूं तो मेरे वर्तमान env से एक उदाहरण मिलता है:

$ n

  io/3.3.1
  node/0.12.7
  node/4.0.0
  node/5.0.0
ο node/5.10.1 

2
आप स्थापित करने के लिए एक तीसरा रास्ता है जो जोड़ सकते हैं दर्द रहित और पत्तियों एक आसान स्थापना रद्द करें उपयोगिता आप इसे की जरूरत है - github.com/mklement0/n-install इस विधि में एन डॉक्स में सुझाव दिया है github.com/tj/n
whatsthatitspat

1
यह भी उल्लेख किया जाना चाहिए कि यदि आप अलग-अलग परियोजनाओं के लिए अलग-अलग नोड संस्करणों को एक साथ चलाने की योजना बना रहे हैं (जैसे 2 अलग-अलग टर्मिनल विंडो में) एनवीएम एक बेहतर विकल्प है, क्योंकि यह प्रत्येक सत्र में नोड के लिए सिर्फ रास्तों को स्विच करता है।
निलोक

10

मैं इसके लिए सुपर लेट हूं लेकिन मुझे दूसरे जवाब पसंद नहीं आए

Homebrew स्थापित करना

काढ़ा चलाने के लिए

"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

नोड और एनपीएम स्थापित करना

आप नोड और npm को स्थापित करने के लिए उपयोग नहीं करेंगेbrew

मैंने कुछ स्थानों पर सुझाव दिया है कि आपको नोड स्थापित करने के लिए Homebrew का उपयोग करना चाहिए (जैसे कि alexpods उत्तर और इस टीम ट्रीहाउस ब्लॉग पोस्ट में ), लेकिन इस तरह से स्थापित करने से आपको अधिक समस्याओं का सामना करने की संभावना है npmऔर brewदोनों पैकेज प्रबंधक हैं और आपको चाहिए एक है पैकेज प्रबंधक एक और प्रबंधन पैकेज प्रबंधक समस्याओं को यह जाता है, इस बग सरकारी तरह NPM मुद्दों त्रुटि: / usr / स्थानीय / bin / NPM: हटाना करने से इनकार या इस पर OSX अनइंस्टॉल नहीं कर सकते NPM मॉड्यूल

आप होमब्रॉव उपयोगकर्ताओं के लिए मैक ओएस एक्स पर डैनहबर्ट की पोस्ट फिक्सिंग एनपीएम में विषय पर अधिक पढ़ सकते हैं , जहां वह कहने के लिए जाता है

इसके अलावा, npm के होमब्रेव इंस्टॉलेशन का उपयोग करते हुए आपको वैश्विक पैकेज स्थापित करते समय sudo का उपयोग करना होगा। चूंकि Homebrew के पीछे एक मुख्य विचार यह है कि ऐप्स को रूट एक्सेस दिए बिना इंस्टॉल किया जा सकता है, यह एक बुरा विचार है।

बाकी सब के लिए

मैं npm का उपयोग करता हूं; लेकिन आपको वास्तव में बस वेबसाइट पर निर्देशों का पालन करते हुए प्रत्येक मॉड्यूल के लिए इंस्टॉलेशन निर्देश का पालन करना चाहिए क्योंकि वे किसी भी मुद्दे या बग के बारे में अधिक जागरूक होंगे जो उनके पास किसी और के पास है


तो क्या आप इसे उनके डाउनलोड से स्थापित करने का सुझाव देते हैं?
शॉन म्लेच्छ

6

यदि आपने पहले काढ़ा का उपयोग करके नोड स्थापित किया है, तो आपके पास अतिरिक्त फ़ाइलों का एक गुच्छा होगा जिसे आपको नोड "सही तरीका" स्थापित करने से पहले साफ करना चाहिए। इसके अलावा, मुझे चीजों को सुचारू रूप से काम करने के लिए अपने स्टार्टअप स्क्रिप्ट में कुछ सेटिंग्स को जोड़ना पड़ा।

मैंने इसे आसान बनाने के लिए एक पटकथा लिखी।

# filename:  install-nvm-npm-node
# author:    Lex Sheehan
# purpose:   To cleanly install NVM, NODE and NPM
# dependencies:  brew

NOW=$(date +%x\ %H:%M:%S)
CR=$'\n'
REV=$(tput rev)
OFF=$(tput sgr0)
BACKUP_DIR=$HOME/backups/nvm-npm-bower-caches/$NOW
MY_NAME=$(basename $0)
NODE_VER_TO_INSTALL=$1
if [ "$NODE_VER_TO_INSTALL" == "" ]; then
    NODE_VER_TO_INSTALL=v0.12.2
fi
if [ "`echo "$NODE_VER_TO_INSTALL" | cut -c1-1`" != "v" ]; then
    echo """$CR""Usage:   $ $MY_NAME <NODE_VERSION_TO_INSALL>"
    echo "Example: $ $MY_NAME v0.12.1"
    echo "Example: $ $MY_NAME $CR"
    exit 1
fi
echo """$CR""First, run:  $ brew update"
echo "Likely, you'll need to do what it suggests."
echo "Likely, you'll need to run: $ brew update$CR"
echo "To install latest node version, run the following command to get the latest version:  $ nvm ls-remote"
echo "... and pass the version number you want as the only param to $MY_NAME. $CR"
echo "Are you ready to install the latest version of nvm and npm and node version $NODE_VER_TO_INSTALL ?$CR"
echo "Press CTL+C to exit --or-- Enter to continue..."
read x

echo """$REV""Uninstalling nvm...$CR$OFF"
# Making backups, but in all likelyhood you'll just reinstall them (and won't need these backups)
if [ ! -d "$BACKUP_DIR" ]; then 
    echo "Creating directory to store $HOME/.nvm .npm and .bower cache backups: $BACKUP_DIR"
    mkdir -p $BACKUP_DIR
fi 
set -x
mv $HOME/.nvm   $BACKUP_DIR  2>/dev/null
mv $HOME/.npm   $BACKUP_DIR  2>/dev/null
mv $HOME/.bower $BACKUP_DIR  2>/dev/null
{ set +x; } &>/dev/null

echo "$REV""$CR""Uninstalling node...$CR$OFF"
echo "Enter your password to remove user some node-related /usr/local directories"
set -x
sudo rm -rf /usr/local/lib/node_modules
rm -rf /usr/local/lib/node
rm -rf /usr/local/include/node
rm -rf /usr/local/include/node_modules
rm /usr/local/bin/npm
rm /usr/local/lib/dtrace/node.d
rm -rf $HOME/.node
rm -rf $HOME/.node-gyp
rm /opt/local/bin/node
rm /opt/local/include/node
rm -rf /opt/local/lib/node_modules
rm -rf /usr/local/Cellar/nvm
brew uninstall node 2>/dev/null
{ set +x; } &>/dev/null

echo "$REV""$CR""Installing nvm...$CR$OFF"

echo "++brew install nvm"
brew install nvm 
echo '$(brew --prefix nvm)/nvm.sh'
source $(brew --prefix nvm)/nvm.sh

echo "$REV""$CR""Insert the following line in your startup script (ex: $HOME/.bashrc):$CR$OFF"
echo "export NVM_DIR=\"\$(brew --prefix nvm)\"; [ -s \"\$NVM_DIR/nvm.sh\" ] && . \"\$NVM_DIR/nvm.sh\"$CR"
NVM_DIR="$(brew --prefix nvm)"

echo """$CR""Using nvm install node...$CR"
echo "++ nvm install $NODE_VER_TO_INSTALL"
nvm install $NODE_VER_TO_INSTALL
NODE_BINARY_PATH="`find /usr/local/Cellar/nvm -name node -type d|head -n 1`/$NODE_VER_TO_INSTALL/bin"
echo "$REV""$CR""Insert the following line in your startup script (ex: $HOME/.bashrc) and then restart your shell:$CR$OFF"
echo "export PATH=\$PATH:$NODE_BINARY_PATH:$HOME/.node/bin"

echo """$CR""Upgrading npm...$CR"
echo '++ install -g npm@latest'
npm install -g npm@latest
{ set +x; } &>/dev/null
echo "$REV""$CR""Insert following line in your $HOME/.npmrc file:$OFF"
echo """$CR""prefix=$HOME/.node$CR"
echo "Now, all is likley well if you can run the following without errors:  npm install -g grunt-cli$CR"
echo "Other recommended global installs: bower, gulp, yo, node-inspector$CR"

मैंने यहाँ एक छोटा लेख लिखा है कि यह क्यों "सही तरीका है" विवरण है।

यदि आपको ioj स्थापित करने की आवश्यकता है, तो nvm का उपयोग इस तरह से करें:

nvm install iojs-v1.7.1

काढ़ा स्थापित करने के लिए, बस इसका होम पेज देखें ।

बाकी के लिए alexpods उत्तर देखें।


5
यह देखकर बहुत अच्छा लगा कि ये सभी पैकेज मैनेजर और वर्जन मैनेजर वास्तव में टेकस्टैक xyz को प्राप्त करने के लिए कस्टम लिखित स्क्रिप्ट, हैक्स और वर्कअराउंड को हटाने में मदद करते हैं। बहुत बढ़िया।
माइकल ट्रू ने

मेरे लिए काम किया, भले ही मैंने npm से शुरुआत की और दोनों को तोड़ा
क्रिस एफ कैरोल

5

आपको nvm के साथ नोड.जेएस को स्थापित करना चाहिए, क्योंकि वैश्विक पैकेज स्थापित करते समय आपको सुपरसुसर विशेषाधिकारों को प्रदान करने की आवश्यकता नहीं होती है (आप केवल 'सुडो' को पूर्वनिर्मित किए बिना "एनपीएम इंस्टॉल-जी पैकजेनम" निष्पादित कर सकते हैं)।

ब्रू अन्य चीजों के लिए शानदार है। जब भी मेरे पास बोवर के साथ कुछ स्थापित करने का विकल्प होता है, मैं बोवर के प्रति पक्षपाती हो जाता हूं।


एनवीएम का उपयोग करके नोड स्थापित करना अब मेरा पसंदीदा तरीका है। मेरी मशीन पर नोड के कई संस्करण होने में सक्षम होने के स्पष्ट कारण के लिए और मुझे sudo के साथ npm निष्पादित करने की आवश्यकता नहीं है। मैंने एक ब्लॉग पोस्ट garywoodfine.com/install-nodejs-nvm-osx लिखा है जिसमें बताया गया है कि कैसे स्थापित किया जाए
गैरी वुडफाइन

4

मैं नोआ के साथ सहमत हूं - यदि आपको कई संस्करणों की आवश्यकता है node, io.jsतो काढ़ा उपयुक्त समाधान नहीं है।

आप io.jsnvm में बीटा-टेस्ट सपोर्ट की मदद कर सकते हैं : https://github.com/creationix/nvm/pull/616

यदि आप केवल io.jsसंस्करण चाहते हैं और संस्करण स्विच नहीं कर रहे हैं, तो आप https://iojs.org/dist/v1.0.2/iojs-v1.0.2-darwin-x64.tar.gzio.js से बाइनरी वितरण स्थापित कर सकते हैं ; इसमें शामिल हैं और यदि आपको संस्करण स्विच करने की आवश्यकता नहीं है, तो आपको इसकी आवश्यकता नहीं होगी ।npmnvm

npmइंस्टॉल करने के बाद अपडेट करना याद रखें :sudo npm install -g npm@latest


3

यहाँ मैं क्या कर रहा हूँ:

curl https://raw.githubusercontent.com/creationix/nvm/v0.20.0/install.sh | bash
cd / && . ~/.nvm/nvm.sh && nvm install 0.10.35
. ~/.nvm/nvm.sh && nvm alias default 0.10.35

इस के लिए कोई Homebrew नहीं।

nvmजल्द ही io.js का समर्थन करेंगे, लेकिन पोस्टिंग के समय नहीं: https://github.com/creationix/nvm/issues/590

तब सब कुछ किसी और स्थापित करते हैं, प्रति-परियोजना, एक साथ package.jsonऔर npm install


0

Zsh और Homebrew के साथ स्थापित करने के लिए:

brew install nvm

फिर ~ / .zshrc या अपने इच्छित शेल कॉन्फ़िगरेशन फ़ाइल में निम्न जोड़ें:

export NVM_DIR="$HOME/.nvm"
. "/usr/local/opt/nvm/nvm.sh"

फिर एक नोड संस्करण स्थापित करें और इसका उपयोग करें।

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