web-dev-qa-db-ja.com

OS Xにbrew、node.js、io.js、nvm、npmをインストールするための推奨される方法は何ですか?

私は自作を可能な限り使用しようとしています。 OS Xに以下をインストールするための推奨方法は何ですか?

そしてうまくいけば、の開発をサポートします。

154
ohho
  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をインストールするのに問題がある場合は、手動でインストールできます( here を参照)。

  2. nvm install 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を使用する:bowerをインストールします。

       npm install -g bower
      

      そして、あなたのプロジェクトフォルダに行き、そこにngCordovaをインストールしてください。

       bower install --save ngCordova
      

PS

  1. いくつかのコマンドはスーパーユーザー特権を必要とするかもしれません
  2. npm install some_moduleの短縮形はnpm i some_moduleです
254
alexpods

2019年更新:自作ではなくNVMを使ってノードをインストールする

ほとんどの場合、nvmをインストールするための推奨方法はHomebrewを使用することです。

しないでください

Nvmでは Github Page で明確に呼ばれています:

自作インストールはサポートされていません。 homebrew-installed nvmに問題がある場合は、brewをアンインストールし、問題を報告する前に以下の手順に従ってインストールしてください。

代わりに次の方法を使用してください。

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

清潔で手間のかからない。これはあなたのデフォルトノードバージョンとしてもこれをマークするので、あなたはすべて設定されるべきです

19

私はn(ノードバージョン管理)を使っています

あなたは2つの方法でそれをインストールすることができます

brew install n

または

npm install -g n

異なるバージョンのノードとioの間で切り替えることができます。これは、paramsなしでnを呼び出したときの、現在のenvからの例です。

$ n

  io/3.3.1
  node/0.12.7
  node/4.0.0
  node/5.0.0
ο node/5.10.1 
11
Serge Seletskyy

私はこれに超遅いですが、私は他の答えが好きではありませんでした

自作のインストール

brewの場合run

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

ノードをインストール中&npm

SHOULD NOTbrewを使用してnodeおよびnpm

NodeをインストールするにはHomebrewを使うべきだといくつかの場所が示唆していますが(alexpods answerのように、これで Team Treehouse blog Post )、この方法でインストールするとnpmとして問題になりやすいですとbrewは両方ともパッケージマネージャであり、パッケージマネージャmanage anotherパッケージマネージャこれはこのバグの公式のような問題を引き起こしますnpmissues エラー:削除を拒否しました:/ usr/local/bin/npm or this OSXではnpmモジュールをアンインストールできません

DanHerbertの投稿 自作ユーザーのためのMac OS Xでのnpmの修正 、で彼は続けて話題についてもっと読むことができます。

また、npmのHomebrewインストールを使用すると、グローバルパッケージをインストールするときにSudoを使用する必要があります。 Homebrewの背後にあるコアアイデアの1つは、アプリケーションにrootアクセス権を与えずにインストールできるということですので、これは悪い考えです。

他のすべての

私はnpmを使用したいと思います。彼らは誰よりも彼らが持っているすべての問題やバグをより意識するようになるが、あなたは本当にちょうどそこにそのウェブサイト上の指示に従って各モジュールのインストール手順に従うべきです

7
garrettmac

以前に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

Brewをインストールするには、 home page を見てください。

Alexpodsの回答を見てください。

6
l3x

私はnoaに同意します - あなたがnodeio.jsの複数のバージョンを持つ必要があるならば、brewは適切な解決策ではありません。

あなたはnvmでio.jsサポートをベータテストするのを手伝うことができます: https://github.com/creationix/nvm/pull/616

io.jsが欲しいだけでバージョンを切り替えたくないのであれば、 https://iojs.org/dist/v1.0.2/iojs-v1.0.2-darwin-x64.tar)からio.jsのバイナリ配布をインストールすることができます。 .gz ;これにはnpmが含まれます。バージョンを切り替えない場合はnvmは必要ありません。

インストール後にnpmを必ず更新してください。Sudo npm install -g npm@latest

4
Sam Mikes

グローバルパッケージのインストール時にスーパーユーザー特権を提供する必要がないので、nvmを使用してnode.jsをインストールする必要があります( 'Sudo'を前に付けずに単に "npm install -g packagename"を実行できます)。

しかし、Brewは他のものには素晴らしいです。 Bowerで何かをインストールするオプションがあるときはいつでも、Bowerに偏っている傾向があります。

4
Rajan Patel

これが私のやり方です。

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/59

それからpackage.jsonnpm installで、プロジェクトごとに他のすべてをインストールします。

3
paulmelnikow

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
0
David Dehghan