簡體   English   中英

在 OS X 上安裝 brew、node.js、io.js、nvm、npm 的建議方法是什么?

[英]What is the suggested way to install brew, node.js, io.js, nvm, npm on OS X?

我正在嘗試盡可能多地使用自制軟件。 在 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

    如果您在使用brew安裝nvm遇到問題,您可以手動安裝它(請參閱此處

  2. 使用nvm install nodeiojs (你可以安裝任何你想要的版本):

     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 install ionic

     npm install -g ionic
  5. ngCordova怎么ngCordova :你可以使用npmbower安裝它。 我不知道哪種變體更適合您,這取決於您要用於客戶端的包管理器。 所以我將描述它們:

    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_module簡短變體是npm i some_module

2019 更新:使用 NVM 安裝節點,而不是 Homebrew

在大多數答案中,推薦的安裝 nvm 的方法是使用Homebrew

不要那樣做

在 nvm 的Github 頁面上,它清楚地標明:

不支持 Homebrew 安裝。 如果您對 homebrew 安裝的 nvm 有問題,請在提交問題之前 brew uninstall 它,並使用下面的說明安裝它。

改用下面的方法

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

您可以在不同版本的 node 和 io 之間切換。 這是我當前環境中的一個示例,當我在沒有參數的情況下調用 n 時:

$ 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來安裝nodenpm

我已經看到一些地方建議您應該使用 Homebrew 來安裝 Node(如 alexpods 的回答和這篇Team Treehouse 博客文章),但以這種方式安裝您更容易遇到問題,因為npmbrew都是包管理器和你應該有一個包管理器來管理另一個包管理器,這會導致問題,比如這個 bug 官方npm問題錯誤:拒絕刪除:/usr/local/bin/npm無法在 OSX 上卸載 npm 模塊

您可以在 DanHerbert 的文章Fixing npm On Mac OS X for Homebrew Users 中閱讀有關該主題的更多信息,他繼續說

此外,使用 npm 的 Homebrew 安裝將要求您在安裝全局包時使用 sudo。 由於 Homebrew 背后的核心思想之一是可以在不授予 root 訪問權限的情況下安裝應用程序,因此這是一個壞主意。

對於其他一切

我會使用 npm; 但是您真的應該按照網站上的說明按照每個模塊的安裝說明進行操作,因為他們會比其他任何人都更了解他們遇到的任何問題或錯誤

如果您之前使用 brew 安裝了 node,那么您將有一堆額外的文件,您應該在“以正確的方式”安裝 node 之前清理這些文件。 另外,我必須在我的啟動腳本中添加一些設置才能使事情順利進行。

我寫了一個腳本來簡化這個過程。

# 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,只需查看其主頁

其余的請參閱 alexpods 答案。

你應該使用 nvm 安裝 node.js,因為這樣你在安裝全局包時不必提供超級用戶權限(你可以簡單地執行“npm install -g packagename”而無需在前面加上“sudo”)。

然而,Brew 在其他方面也很棒。 每當我可以選擇使用 Bower 安裝某些東西時,我都會傾向於使用 Bower。

這是我所做的:

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.jsonnpm install每個項目的其他所有內容。

我同意 noa - 如果您需要有多個版本的nodeio.js則 brew 不是合適的解決方案。

您可以在 nvm 中幫助 beta-test 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的二進制分發io.js .gz ; 這包括npm ,如果您不切換版本,則不需要nvm

安裝后記得更新npmsudo npm install -g npm@latest

使用 zsh 和 Homebrew 安裝:

brew install nvm

然后將以下內容添加到 ~/.zshrc 或您想要的 shell 配置文件:

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

然后安裝一個節點版本並使用它。

nvm install 7.10.1
nvm use 7.10.1

2021 更新

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

MAC 故障排除:

從 macOS 10.15 開始,默認 shell 是 zsh 並且 nvm 將查找 .zshrc 來更新,默認情況下沒有安裝。 使用 touch ~/.zshrc 創建一個並再次運行安裝腳本。

如果您使用 bash(以前的默認 shell),請運行 touch ~/.bash_profile 以創建必要的配置文件(如果它不存在)。

您可能需要重新啟動終端實例或運行 . ~/.nvm/nvm.sh。 重新啟動終端/打開新選項卡/窗口,或運行 source 命令將加載命令和新配置。

您以前使用過 bash,但您安裝了 zsh。 您需要手動將這些行添加到 ~/.zshrc 並運行。 ~/.zshrc。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM