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

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

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



답변

  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

답변

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

깨끗하고 번거 로움이 없습니다. 이것을 기본 노드 버전으로 표시하므로 모두 설정해야합니다.


답변

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 


답변

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

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


답변

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 답변을 참조하십시오.


답변

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

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


답변

나는 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