OS X에 brew, node.js, io.js, nvm, npm을 설치하는 제안 된 방법은 무엇입니까?


175

나는 가능한 한 많은 양조를 사용하려고합니다. OS X에 다음을 설치하기 위해 제안 된 방법은 무엇입니까?

희망적으로 다음을위한 개발을 지원합니다 :


9
홈브류 사용을 요청했지만주의하십시오. homebrew를 사용하여 nvm을 설치하지 않는 것이 좋습니다. github.com/creationix/nvm에서 "Homebrew 설치는 지원되지 않습니다. homebrew에 설치된 nvm에 문제가있는 경우, Brew를 제거하고 문제를 제기하기 전에 아래 지침에 따라 설치하십시오. "
Eric

답변:


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. npmnode(또는 iojs) 와 함께 제공 되므로 설치 후 node(또는 iojs) 후에 사용할 수 있습니다 . 최신 버전으로 업그레이드 할 수 있습니다.

    $ npm install -g npm@latest

    UPD 이전 버전은 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_moduleis의 짧은 변형npm i some_module

10
npm 자체를 업데이트 하는 경우 npm update 명령을 사용하지 마십시오. : 업데이트 NPM에 상류 권장되는 방법이다 npm install -g npm@latest(에서 brew info node, 그리고 여기에 )
자바드 Sadeqzadeh

10
현재 brew nvm 설치에서 : "업스트림에서 Homebrew를 통해 nvm을 명시 적으로 관리하도록 요청했습니다."-> 아마도 올바른 대답은 brew를 nvm / node.js / io에 사용하지 않는 것입니다. .js.
s.Daniel

7
"nvm이 npm 구성"접두사 "옵션과 호환되지 않습니다"라는 오류 메시지가 표시되었습니다. 이 사이트 ( github.com/creationix/nvm/issues/855#issue-109279804 )에 따라 NVM은 Homebrew와 호환되지 않습니다. "nvm 제거"및 CURL 명령을 통해 nvm을 설치했는데 오류 메시지가 사라졌습니다.
YeeHaw1234

4
brew를 통해 nvm을 잠시 동안 사용했지만 "upstream ... explicit ... unsupported"메시지도 받았습니다. NVM 문서에 "Homebrew 설치는 지원되지 않습니다. homebrew에 설치된 nvm에 문제가있는 경우 문제를 제기하기 전에이를 제거하고 아래 지침에 따라 설치하십시오." 따라서 이것은 아마도 더 이상 받아 들여서는 안됩니다. 방금 작동하는 n을 사용하기 시작했습니다.
whatsthatitsitspat

3
현재 NVM 버전 (v0.33.2)은 homebrew 설치를 지원하지 않습니다 : 참조 : github.com/creationix/nvm/tree/v0.33.2#installation
Andrea Carraro

45

2019 년 업데이트 : Homebrew가 아닌 ​​NVM을 사용하여 노드 설치

대부분의 답변에서 nvm을 설치하는 권장 방법은 Homebrew 를 사용하는 것입니다.

그거 하지마

에서 Github에서 페이지 NVM에 대한 명확 불려 :

Homebrew 설치는 지원되지 않습니다. homebrew-installed nvm에 문제가있는 경우 문제를 제기하기 전에이를 제거하고 아래 지침에 따라 설치하십시오.

대신 다음 방법을 사용하십시오

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
skube

1
이것을 가져 주셔서 감사합니다, 난 nvm과 homebrew와 끔찍한 토끼 구멍을 내려와 방금 나타났습니다 ...
cssidy

좋은 대답입니다! 많은 독서 (노드 설치가 지뢰밭이 될 수 있음) 후, 나는 제거 된 노드를 추출하고 모든 것을 정리하고 nvm을 사용하여 Mojave 10.14.4에 노드를 설치했습니다 : stackoverflow.com/q/55735701/123033
Dave 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 이 방법에서 n 개의 문서에 제안 github.com/tj/n
whatsthatitspat

1
또한 서로 다른 프로젝트에 대해 서로 다른 프로젝트에 대해 서로 다른 노드 버전을 동시에 실행하려는 경우 (2 개의 서로 다른 터미널 창에서와 같이) nvm은 각 세션에서 노드에 대한 경로 만 전환하기 때문에 더 나은 선택입니다.
Nilloc

10

나는 이것에 늦었지만 다른 답변을 좋아하지 않았다.

Homebrew 설치

BREW 용 실행

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

노드 및 npm 설치

당신은 해서는 안 사용 brew설치 노드NPM을 .

나는 몇 군데는 노드를 설치하는 데 브루을 사용할 것을 제안 (alexpods 대답처럼이 검색된 팀 트리 하우스 포스트 블로그 )하지만이 같은 문제로 실행하는 것이 더 경향이있어이 방법으로 설치 npm하고 brew모두 패키지 관리자는 당신이해야 이 패키지 관리자는 다른 관리 패키지 관리자에게 이 버그 offical 한 같은 문제로이 리드를 NPM의 문제 오류 : 삭제 거부 : / usr / 지방 / 빈 / NPM을 하거나 OSX에 수 제거하지 NPM 모듈

당신은 DanHerbert의 포스트의 주제에 더 읽을 수 브루 사용자를위한 맥 OS X에 정착 NPM 그가 대답에 간다,

또한 npm의 Homebrew 설치를 사용하려면 전역 패키지를 설치할 때 sudo를 사용해야합니다. Homebrew의 핵심 아이디어 중 하나는 앱에 루트 액세스 권한을 부여하지 않고도 앱을 설치할 수 있다는 것입니다. 이는 나쁜 생각입니다.

다른 모든 것

나는 npm을 사용할 것이다. 그러나 웹 사이트의 지시에 따라 각 모듈의 설치 지침을 따라야합니다. 다른 모듈보다 문제 또는 버그를 더 잘 알고 있기 때문입니다.


그렇다면 다운로드에서 설치하는 것이 좋습니다.
Shawn Mclean 5

6

brew를 사용하여 이전에 노드를 설치 한 경우 "올바른 방법"노드를 설치하기 전에 정리해야 할 추가 파일이 많이 있습니다. 또한, 원활한 작동을 위해 시작 스크립트에 몇 가지 설정을 추가해야했습니다.

이것을 쉽게하기 위해 스크립트를 작성했습니다.

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

나는 이것이 왜 "올바른 방법"인지에 대한 짧은 기사를 여기에 썼습니다 .

iojs를 설치해야하는 경우 다음과 같이 nvm을 사용하십시오.

nvm install iojs-v1.7.1

추출을 설치하려면 해당 홈 페이지를 참조하십시오 .

나머지는 alexpods 답변을 참조하십시오.


5
이 모든 패키지 관리자와 버전 관리자가 실제로 사용자 정의 스크립트, 해킹 및 해결 방법을 제거하여 techstack xyz를 작동시키는 데 도움이된다는 것을 알게 된 것이 놀랍습니다. 대박.
Michael Trouw

내가 NPM 시작에도 불구하고 나를 위해 일한 모두 깨진 양조
크리스 F 캐롤

5

전역 패키지를 설치할 때 수퍼 유저 권한을 제공 할 필요가 없으므로 nvm과 함께 node.js를 설치해야합니다 ( 'sudo'를 앞에 두지 않고 "npm install -g packagename"을 실행할 수 있음).

그러나 Brew는 다른 것들에 환상적입니다. Bower로 무언가를 설치할 수있는 옵션이있을 때마다 Bower를 향한 경향이 있습니다.


nvm을 사용하여 노드를 설치하는 것이 선호되는 방법입니다. 내 컴퓨터에 여러 버전의 노드를 가질 수 있다는 명백한 이유 때문에 sudo로 npm을 실행할 필요가 없습니다. 설치 방법을 설명하는 블로그 게시물 garywoodfine.com/install-nodejs-nvm-osx
Gary Woodfine

4

나는 NOA에 동의 - 당신의 여러 버전을해야하는 경우 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

이것에 대한 사제 없음.

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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.