OS X'te brew, node.js, io.js, nvm, npm'yi kurmanın önerilen yolu nedir?


175

Homebrew'u mümkün olduğunca kullanmaya çalışıyorum. OS X'te aşağıdakileri yüklemenin önerilen yolu nedir?

ve umarım aşağıdakiler için gelişimi destekler:


9
Her ne kadar homebrew kullanmak isteseniz de not edilmelidir. Nvm'yi yüklemek için homebrew kullanılması önerilmez github.com/creationix/nvm adresinden "Homebrew kurulumu desteklenmez. Homebrew tarafından kurulmuş nvm ile ilgili sorunlarınız varsa, lütfen bir sorun bildirmeden önce onu demleyin ve aşağıdaki talimatları kullanarak yükleyin. ."
Eric

Yanıtlar:


267
  1. Kullanılması homebrewyüklemek nvm:

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

    Her terminal başlangıcında yeniden çalıştırmamak için son komutu .profile, .bashrcveya .zshrcdosyasına ekleyin . Örneğin, .profilekoşuya eklemek için :

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

    nvmKullanarak yükleme konusunda sorun brewyaşıyorsanız manuel olarak yükleyebilirsiniz ( buraya bakın )

  2. Kullanılması nvmyüklemek nodeveya iojs(istediğiniz herhangi bir sürümünü yükleyebilirsiniz):

    nvm install 0.10
    # or
    nvm install iojs-1.2.0
  3. npmile gönderiyor node(veya iojs), bu yüzden yüklendikten sonra node(veya iojs) kullanılabilir. En son sürüme yükseltmek isteyebilirsiniz:

    $ npm install -g npm@latest

    UPD Önceki sürüm oldu npm update -g npm. @Metallica'ya doğru yolu işaret ettiği için teşekkürler (aşağıdaki açıklamaya bakınız).

  4. Kullanılması npmyüklemek ionic:

    npm install -g ionic
  5. Ne hakkında ngCordova: npmveya tuşunu kullanarak yükleyebilirsiniz bower. Hangi varyantın sizin için daha uygun olduğunu bilmiyorum, müşteri tarafı için kullanmak istediğiniz paket yöneticisine bağlıdır. Bu yüzden ikisini de açıklayacağım:

    1. Kullanaraknpm : Proje klasörünüze gidin ve kurun ng-cordova:

      npm install --save ng-cordova
    2. Kullanmabower : bower yükleyin:

       npm install -g bower

      Ve sonra proje klasörünüze gidin ve içine yükleyin ngCordova:

       bower install --save ngCordova

PS

  1. Bazı komutlar süper kullanıcı ayrıcalığı gerektirebilir
  2. Kısa varyant npm install some_moduleISnpm i some_module

10
Npm'in kendisini güncellerseniz, npm update komutunu KULLANMAYIN. Npm'yi güncellemenin önerilen yukarı yolu şudur: npm install -g npm@latest( buradanbrew info node ve buradan )
Javad Sadeqzadeh

10
Şu anki demleme nvm kurulumundan: "Lütfen yukarı akımın, Homebrew aracılığıyla nvm'yi açık bir şekilde yönetmemizi istediğini unutmayın ..." -> Muhtemelen doğru cevap, nvm / node.js / io için demlemek etmemektir. js.
s.Daniel

7
"Nvm npm config" öneki "seçeneği" ile uyumlu değil hata mesajı alıyordum. bu siteye göre ( github.com/creationix/nvm/issues/855#issue-109279804 ), NVM Homebrew ile uyumlu değildir. Ben "nvm demlendi" ve CURL komutu ile nvm yüklü ve şimdi hata mesajı gitti.
YeeHaw1234

4
Bir süre demlemek yoluyla nvm kullandım ama "yukarı ... açık ... desteklenmeyen" mesajı da aldım. NVM dokümanları açıkça "Homebrew kurulumu desteklenmiyor. Homebrew tarafından kurulmuş nvm ile ilgili sorunlarınız varsa, lütfen bir sorunu açmadan önce onu demleyin ve aşağıdaki talimatları kullanarak yükleyin." Yani bu muhtemelen kabul edilen cevap olmamalı. Az önce işe yarayan n'yi kullanmaya başladım.
whatsthatitspat

3
Mevcut NVM sürümü (v0.33.2) Homebrew kurulumunu DESTEKLEMEZ: Bkz: github.com/creationix/nvm/tree/v0.33.2#installation
Andrea Carraro

45

2019 güncellemesi: Düğmeyi yüklemek için NVM'yi kullanın, Homebrew'u değil

Cevapların çoğunda, nvm'yi yüklemenin önerilen yolu Homebrew kullanmaktır

Böyle yapma

At Github Sayfa NVM'de için açıkça dışarı denir:

Homebrew kurulumu desteklenmiyor. Homebrew tarafından yüklenmiş nvm ile ilgili sorunlarınız varsa, lütfen bir sorunu açmadan önce onu demleyin ve aşağıdaki talimatları kullanarak yükleyin.

Bunun yerine aşağıdaki yöntemi kullanın

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

Komut dosyası nvm deposunu ~ / .nvm dizinine kopyalar ve kaynak satırını profilinize ekler (~ / .bash_profile, ~ / .zshrc, ~ / .profile veya ~ / .bashrc).

Ve sonra düğümü yüklemek için nvm kullanın. Örneğin en son LTS sürümünü yüklemek için şunları yapın:

nvm install v8.11.1

Temiz ve sorunsuz. Bunu varsayılan düğüm sürümünüz olarak da işaretler, böylece hepiniz ayarlanmış olmalısınız


2
Sanırım nvm install --ltsen son LTS
skube

1
Bunu getirdiğin için teşekkür ederim, nvm ve homebrew ile korkunç bir tavşan deliğine indim ve yeni ortaya çıktı ...
cssidy

İyi cevap! (Düğüm yükleyen bir mayın tarlası olabilir) okuma bir sürü sonra sırf Mojave 10.14.4 üzerinde düğüm yüklemek için kaldırıldığı düğüm, temizlenmiş her şey ve kullanılan NVM demlemek: stackoverflow.com/q/55735701/123033
Dave Everitt

13

N (Düğüm sürüm yönetimi) kullanıyorum

İki şekilde kurabilirsiniz

brew install n

veya

npm install -g n

Düğüm ve io'nun farklı sürümleri arasında geçiş yapabilirsiniz. İşte n'yi parametresiz çağırdığımda şu anki imimden bir örnek:

$ n

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

2
Ağrısız olan ve ihtiyacınız varsa kullanışlı bir kaldırma yardımcı programı bırakan üçüncü bir yükleme yolu ekleyebilirsiniz - github.com/mklement0/n-install Bu yöntem github.com/tj/n
whatsthatitspat

1
Ayrıca, farklı projeler için farklı düğüm versiyonlarını aynı anda çalıştırmayı planlıyorsanız (2 farklı terminal penceresinde olduğu gibi) daha iyi bir seçim olduğu belirtilmelidir, çünkü her oturumda sadece yolları düğüme geçirir.
Nilloc

10

Buna çok geç kaldım ama diğer cevapları beğenmedim

Homebrew Kurulumu

Demlemek için vadede

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

Düğüm & npm kurulumu

Sen GİRMEMELİ kullanmak brewyüklemek için düğüm ve UÖM'sini .

Birkaç yerleri Düğümü yüklemek için Homebrew kullanması gerektiğini önerdi (alexpods cevap gibi ve bu gördüğüm Takım Treehouse Yayınla blog ) ancak konularıyla da çalıştırmak daha yatkın olduğunu bu şekilde yükleyerek npmve brewher ikisi de paket yöneticileri ve gerektiği bir var paket yöneticisi başka yönetmek paket yöneticisini bu böcek resmi gibi sorunlara bu yol npm sorunları hata: silmek reddeden: / usr / local / bin / UÖM'sini veya bu OSX'te Can kaldırma değil npm modülü

Konuyla ilgili daha fazla bilgiyi DanHerbert'in Sabitleme npm'sinde Homebrew Kullanıcıları için Mac OS X'te söyleyebilirsiniz.

Ayrıca, npm'in Homebrew kurulumunu kullanmak, global paketleri kurarken sudo kullanmanızı gerektirecektir. Homebrew'un arkasındaki temel fikirlerden biri, uygulamaların root erişimi vermeden yüklenebilmesi olduğundan, bu kötü bir fikirdir.

Diğer Her Şey İçin

Ben npm kullanırdım; ancak gerçekten her sitedeki talimatları izleyerek her web sitesi için talimatları izlemelisiniz, çünkü herhangi bir sorun veya hatanın herkesten daha fazla farkında olacaklardır


Yani sadece indirmeden yüklemeyi öneriyorsun?
Shawn Mclean

6

Daha önce demleme kullanarak düğümü kurduysanız, düğümü "doğru şekilde" kurmadan önce temizlemeniz gereken bir sürü ek dosyaya sahip olacaksınız. Ayrıca, işlerin sorunsuz çalışması için başlangıç ​​komut dosyama birkaç ayar eklemek zorunda kaldım.

Bunu kolaylaştırmak için bir senaryo yazdım.

# 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"

Burada bunun neden "doğru yol" olduğunu belirten kısa bir makale yazdım .

Eğer iojs yüklemeniz gerekiyorsa, nvm kullanarak bunu yapın:

nvm install iojs-v1.7.1

Demlemek için, ana sayfasına bakın .

Geri kalanı için alexpods cevabına bakınız.


5
Tüm bu paket yöneticilerinin ve sürüm yöneticilerinin, techstack xyz'nin çalışmasını sağlamak için özel yazılı komut dosyalarını, kesmek ve geçici çözümleri kaldırmaya gerçekten yardımcı olduğunu görmek harika. müthiş.
Michael Trouw

Ben npm ile başladı ve her ikisi de kırık demlemek bile benim için çalıştı
Chris F Carroll

5

Node.js dosyasını nvm ile yüklemelisiniz, çünkü bu şekilde global paketleri kurarken süper kullanıcı ayrıcalıkları sağlamanız gerekmez ('sudo' ifadesini eklemeden "npm install -g packagename" komutunu yürütebilirsiniz).

Brew, ancak diğer şeyler için harika. Bower ile bir şey yükleme seçeneğim olduğunda Bower'a karşı eğilimli olma eğilimindeyim.


Düğüm nvm kullanarak kurmak artık benim tercih ettiğim yaklaşım. Makinemde düğümün birden fazla sürümüne sahip olabilmenin bariz nedeni için ve ayrıca spm ile npm yürütmek zorunda değilim. Bir blog yazısı yazdım garywoodfine.com/install-nodejs-nvm-osx açıklayan
Gary Woodfine

4

Noa ile hemfikirim - birden fazla sürümüne ihtiyacınız varsa node,io.js demlemek uygun çözüm değildir.

io.jsNVM'de beta testi desteğine yardımcı olabilirsiniz : https://github.com/creationix/nvm/pull/616

Sadece io.jssürümleri değiştirmek istiyorsanız ve istemiyorsanız io.js, https://iojs.org/dist/v1.0.2/iojs-v1.0.2-darwin-x64.tar.gz ; içerir npmve nvmsürümler arasında geçiş yapmanıza gerek kalmaz .

Yükledikten npmsonra güncellemeyi unutmayın :sudo npm install -g npm@latest


3

İşte yaptığım şey:

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

Bunun için Homebrew yok.

nvmyakında io.js'yi destekleyecek, ancak gönderme sırasında desteklenmeyecek: https://github.com/creationix/nvm/issues/590

Ardından, proje başına diğer her şeyi bir package.jsonve ile yükleyin npm install.


0

Zsh ve Homebrew ile kurulum için:

brew install nvm

Ardından ~ / .zshrc dosyasına veya istediğiniz kabuk yapılandırma dosyasına ekleyin:

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

Ardından bir düğüm sürümü yükleyin ve kullanın.

nvm install 7.10.1
nvm use 7.10.1
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.