IT박스

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

itboxs 2020. 6. 3. 21:43
반응형

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. npm함께 출하 node(또는 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을 .

I've seen a few places suggested that you should use Homebrew to install Node (like alexpods answer and in this Team Treehouse blog Post) but installing this way you're more prone to run into issues as npm and brew are both package managers and you should have a package manager manage another package manager this leads to problems, like this bug offical npm issues Error: Refusing to delete: /usr/local/bin/npm or this Can't uninstall npm module on OSX

You can read more on the topic in DanHerbert's post Fixing npm On Mac OS X for Homebrew Users, where he goes on to say

Also, using the Homebrew installation of npm will require you to use sudo when installing global packages. Since one of the core ideas behind Homebrew is that apps can be installed without giving them root access, this is a bad idea.

For Everything else

I'd use npm; but you really should just follow the install instruction for each modules following the directions on there website as they will be more aware of any issue or bug they have than anyone else


If you have previously installed node using brew, then you will have a bunch of extra files that you should clean up before installing node "the right way". Plus, I had to add a few settings to my startup script to make things work smoothly.

I wrote a script to make this easy.

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

I wrote a short article here that details why this is "the right way".

If you need to install iojs, do so using nvm like this:

nvm install iojs-v1.7.1

To install brew, just see its home page.

See alexpods answer for the rest.


You should install node.js with nvm, because that way you do not have to provide superuser privileges when installing global packages (you can simply execute "npm install -g packagename" without prepending 'sudo').

Brew is fantastic for other things, however. I tend to be biased towards Bower whenever I have the option to install something with Bower.


I agree with noa -- if you need to have multiple versions of node, io.js then brew is not the appropriate solution.

You can help beta-test io.js support in nvm: https://github.com/creationix/nvm/pull/616

If you just want io.js and are not switching versions, then you can install the binary distribution of io.js from https://iojs.org/dist/v1.0.2/iojs-v1.0.2-darwin-x64.tar.gz ; that includes npm and you will not need nvm if you are not switching versions.

Remember to update npm after installing: sudo npm install -g npm@latest


Here's what I do:

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

No Homebrew for this one.

nvm soon will support io.js, but not at time of posting: https://github.com/creationix/nvm/issues/590

Then install everything else, per-project, with a package.json and npm install.


For install with zsh and Homebrew:

brew install nvm

Then Add the following to ~/.zshrc or your desired shell configuration file:

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

Then install a node version and use it.

nvm install 7.10.1
nvm use 7.10.1

참고 URL : https://stackoverflow.com/questions/28017374/what-is-the-suggested-way-to-install-brew-node-js-io-js-nvm-npm-on-os-x

반응형