在OS X上安装brew,node.js,io.js,nvm,npm的build议方法是什么?

我正在尝试尽可能地使用自制软件。 什么build议的方式来在OS X上安装以下内容?

  • 的node.js
  • io.js
  • NVM
  • NPM

并希望支持以下方面的发展:

  • 离子的
  • ngCordova
  1. 使用homebrew安装nvm

     brew update brew install nvm source $(brew --prefix nvm)/nvm.sh 

    将最后一个命令添加到.profile.bashrc.zshrc文件,以便在每个terminal启动时不再运行它。 因此,例如将其添加到.profile运行:

     echo "source $(brew --prefix nvm)/nvm.sh" >> ~/.profile 

    如果您在使用brew安装nvm遇到问题,可以手动安装(请参阅此处 )

  2. 使用nvm安装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安装ionic

     npm install -g ionic 
  5. ngCordova怎么ngCordova :你可以使用npm或者bower来安装它。 我不知道哪种变体更适合你,它取决于你想用于客户端的包pipe理器。 所以我会描述他们两个:

    1. 使用npm :转到您的项目文件夹并在其中安装ng-cordova

       npm install --save ng-cordova 
    2. 使用bower :安装凉亭:

        npm install -g bower 

      然后转到您的项目文件夹并在其中安装ngCordova

        bower install --save ngCordova 

PS

  1. 有些命令可能需要超级用户权限
  2. npm install some_module简短变体是npm i some_module

我正在使用n(节点版本pipe理)

你可以用两种方法安装它

 brew install n 

要么

 npm install -gn 

您可以在不同版本的节点和io之间切换。 下面是我当前env的一个例子,当我不带params调用n时:

 $ n io/3.3.1 node/0.12.7 node/4.0.0 node/5.0.0 ο node/5.10.1 

如果您之前使用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,只需看看它的主页 。

其余的请参阅alexpods的答案。

我同意noa – 如果你需要有多个版本的nodeio.js然后brew不是适当的解决scheme。

你可以在nvm中帮助betatestingio.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

您应该使用nvm来安装node.js,因为这样您在安装全局程序包时不必提供超级用户权限(您可以简单地执行“npm install -g packagename”,而无需预先join“sudo”)。

但是,Brew对于其他的东西来说太棒了。 当我有select安装Bower的东西的时候,我往往会偏向Bower。

我对这个超级迟了,但我不喜欢其他答案

安装自制软件

用于酿造运行

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

安装node&npm

不应该使用brew来安装节点npm

我已经看到一些地方build议你应该使用Homebrew来安装Node(像alexpods的答案和在这个Team Treehouse博客文章 ),但安装这种方式更容易遇到问题,因为npmbrew都是包pipe理器和你应该有一个包pipe理器pipe理另一个包pipe理器这会导致问题,像这样的错误官方npm问题错误:拒绝删除:/ usr / local / bin / npm或这不能卸载OSX上的npm模块

你可以在DanHerbert的“ Fixing npm Mac OS X for Homebrew Users”一文中看到更多关于这个主题的内容,他继续说

另外,使用npm的Homebrew安装将要求您在安装全局程序包时使用sudo。 由于Homebrew的核心思想之一是可以安装应用程序而不需要root权限,这是一个坏主意。

对于其他一切

我会用npm; 但是您应该按照网站上的说明,按照每个模块的安装说明进行操作,因为他们会比其他人更了解任何问题或错误

这就是我所做的:

 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每个项目。