最近,想学习React Native ,就开始搭建环境,在此过程中有一些坑,先按流程来说吧
首先,home brew 是要安装的,这歩基本没有问题,安装方式及命令单一,所以不会引起其他问题;
linux 需要有软件包依赖, 好在现两大发行版本
1.RedHat系列:Redhat、Centos、Fedora等
1 常见的安装包格式 rpm包,安装rpm包的命令是“rpm -参数”
2 包管理工具 yum ( )
3 支持tar包
2.Debian系列:Debian、Ubuntu等
1 常见的安装包格式 deb包,安装deb包的命令是“dpkg -参数”
2 包管理工具 apt-get
3 支持tar包
mac 上 home brew安装方式:
$ /usr/bin/ruby-e"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
查看版本,
$ brew -v
使用
搜索软件:brew search 软件名,如brew search wget
安装软件:brew install 软件名,如brew install wget
卸载软件:brew remove 软件名,如brew remove wget
nodejs需要 4.0以上
下面开始说 node的安装,这里因为我以前可能是直接下载,已经忘了,因为之前装过,具体也不是很清楚了,后来又使用了 TJ大神的 n管理工具进行管理,至此我已不知道,我都输过了什么命令,出现了一系列的问题,这里的问题都遇到了,还有一部分已记不清楚,我开始想着 卸载node 卸载 npm 使用nvm 来管理node ,卸载的流程
Mac OSX
1. 删除/usr/local/lib中的所有node和node_modules
2. 删除/usr/local/lib中的所有node和node_modules的文件夹
3. 如果是从brew安装的, 运行brew uninstall node
4. 检查~/中所有的local, lib或者include文件夹, 删除里面所有node和node_modules
5. 在/usr/local/bin中, 删除所有node的可执行文件
6. 最后运行以下代码:
sudo rm /usr/local/bin/npm
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/lib/dtrace/node.d
sudo rm -rf ~/.npm
sudo rm -rf ~/.node-gyp
sudo rm /opt/local/bin/node
sudo rm /opt/local/include/node
sudo rm -rf /opt/local/lib/node_modules
开始安装nvm:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh|bash
当我输入 nvm 命令时,会出现
-bash:nvm:command not find
出现这种情况,有可能是
一、shell 不知道 nvm 的存在
二、nvm 已经存在,但是没有 default 的 Node.js 版本可用。
解决方式:
一、检查~/.profile或者~/.bash_profile中有没有这样两句
export NVM_DIR="/Users/YOURUSERNAME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
没有的话,加进去。
这两句会在 bash 启动的时候被调用,然后注册 nvm 命令。
我这里始终没找到 ~/.profile或者~/.bash_profile这两个文件,尝试着在shell里把这两句话作为命令输入,然后再 输入 nvm 命令 就可以了
nvm ls
下面是shell的输出
-> system
node -> stable (-> N/A) (default)
iojs -> iojs- (-> N/A) (default)
现在开始安装 node
nvm install node && nvm alias default node
这样nam 和 node 都已安装好,也指定了默认版本
下面安装 react native
npm install -g react-native-cli
这两个包分别是监控文件变化和类型检查的
brew install watchman
brew install flow
另: 粘贴几个安装过程中的参考资料
www.csdn.net/article/2015-09-24/2825787-react-native
https://github.com/alsotang/node-lessons/tree/master/lesson0