在OS X上安装brew,node.js,io.js,nvm,npm的build议方法是什么?
我正在尝试尽可能地使用自制软件。 什么build议的方式来在OS X上安装以下内容?
- 的node.js
- io.js
- NVM
- NPM
并希望支持以下方面的发展:
- 离子的
- ngCordova
-
使用
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
遇到问题,可以手动安装(请参阅此处 ) -
使用
nvm
安装node
或iojs
(你可以安装任何你想要的版本):nvm install 0.10 # or nvm install iojs-1.2.0
-
npm
与node
(或iojs
)一起发货,因此在安装node
(或iojs
)之后将可用。 您可能需要将其升级到最新版本:$ npm install -g npm@latest
UPD以前的版本是
。 感谢@Metallica指出正确的方式(看下面的评论)。npm update -g npm
-
使用
npm
安装ionic
:npm install -g ionic
-
ngCordova
怎么ngCordova
:你可以使用npm
或者bower
来安装它。 我不知道哪种变体更适合你,它取决于你想用于客户端的包pipe理器。 所以我会描述他们两个:-
使用
npm
:转到您的项目文件夹并在其中安装ng-cordova
:npm install --save ng-cordova
-
使用
bower
:安装凉亭:npm install -g bower
然后转到您的项目文件夹并在其中安装
ngCordova
:bower install --save ngCordova
-
PS
- 有些命令可能需要超级用户权限
-
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 – 如果你需要有多个版本的node
, io.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
。
记得在安装后更新npm
: sudo 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博客文章 ),但安装这种方式更容易遇到问题,因为npm
和brew
都是包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.json
和npm install
每个项目。
- Homebrew + Python的Mac OS X 10.8:致命的Python错误:PyThreadState_Get:当前没有线程导入mapnik
- 如何在OS X上看到我的$ PATHvariables的当前值?
- Sudo pip安装matplotlib无法findfreetype头文件。
- 在mac os上安装mysql
- Ruby Bundle找不到符号:_SSLv2_client_method(LoadError)
- Homebrew拒绝链接OpenSSL
- 如何连接PyCharm和PySpark?
- 自制软件,macports或其他软件包安装工具的区别/用法是什么?
- Homebrew brew医生警告/Library/Frameworks/Python.framework,甚至连brew的Python安装