安装node

  1. 官网下载

    https://nodejs.org/en/

  2. 双击安装,接下来都是默认选择即可,直至安装成功

  3. 测试是否安装成功,分别输入以下命令:

node -v
npm -v

如下图所示,说明安装成功了。



若提示没有找到命令,则需要解决了,这里不赘述了。

安装react

  1. 设置npm源
zhanweideMacBook-Air:~ zhanwei$ npm config set registry https://registry.npm.taobao.org --global
npm ERR! code EACCES
npm ERR! syscall mkdir
npm ERR! path /usr/local/etc
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, mkdir '/usr/local/etc'
npm ERR! [Error: EACCES: permission denied, mkdir '/usr/local/etc'] {
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'mkdir',
npm ERR! path: '/usr/local/etc'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator. npm ERR! A complete log of this run can be found in:
npm ERR! /Users/zhanwei/.npm/_logs/2020-04-29T15_10_56_578Z-debug.log

看到上面的报错信息,结果显然易见,权限不足,以失败告终。

解决权限不足的问题

然而实际上,node官网早已对这种情况作出了合理的修改方法,并且官网强烈建议用户不要使用root、sudo等方法覆盖权限。链接如下: node官网给出的修改方法

  1. 使用nvm重新安装node

nvm 即node version manager,这是node官网的推荐方法,使用nvm安装node时会自动申请各种权限,在之后的使用中就不会有权限问题了

安装方法如下: node官网给出的安装方式

  1. 改变npm的默认路径

第二个方法是我目前使用的方法,这也是不想重新安装node的用户可以采用的方法。可以将默认的全局安装路径修改到当前用户的home目录下

  • 新建一个全局安装的路径
 mkdir ~/.npm-global
  • 配置npm使用新的路径
 npm config set prefix ‘~/.npm-global’
  • 打开或新建~/.bash_profile文件,在末尾加入
 export PATH=~/.npm-global/bin:$PATH
  • 更新系统环境变量
 source ~/.bash_profile
  • PS: 如果你不想去修改.bash_profile文件的话,你也可以使用如下命令
 # 配置npm config的路径
NPM_CONFIG_PREFIX=~/.npm-global

以下是我执行以上命令的顺序及结果:

zhanweideMacBook-Air:~ zhanwei$ mkdir .npm-global
zhanweideMacBook-Air:~ zhanwei$ npm config set prefix '~/.npm-global'
zhanweideMacBook-Air:~ zhanwei$ export PATH=~/.npm-global/bin:$PATH
zhanweideMacBook-Air:~ zhanwei$ PM_CONFIG_PREFIX=~/.npm-global

以上权限问题解决了,然后就可以来设置npm源了。

设置npm源

zhanweideMacBook-Air:~ zhanwei$ npm config set registry https://registry.npm.taobao.org --global
zhanweideMacBook-Air:~ zhanwei$ npm config set disturl https://npm.taobao.org/dist --global

安装全局create-react-app

zhanweideMacBook-Air:~ zhanwei$ npm install -g create-react-app
/Users/zhanwei/.npm-global/bin/create-react-app -> /Users/zhanwei/.npm-global/lib/node_modules/create-react-app/index.js
+ create-react-app@3.4.1
updated 1 package in 21.579s

创建工程

在工作区下创建第一个APP,在终端输入如下命令

create-react-app myapp

可能需要等个几分钟

Success! Created myapp at /Users/zhanwei/workspace/myapp
Inside that directory, you can run several commands: npm start
Starts the development server. npm run build
Bundles the app into static files for production. npm test
Starts the test runner. npm run eject
Removes this tool and copies build dependencies, configuration files
and scripts into the app directory. If you do this, you can’t go back! We suggest that you begin by typing: cd myapp
npm start Happy hacking!

到最后看到上面的输出,代表工程创建成功了,然后进入到app根目录中。

zhanweideMacBook-Air:workspace zhanwei$ cd myapp/

运行项目

zhanweideMacBook-Air:workspace zhanwei$ npm start

接下来我们可以看到正在编译。。。

Compiled successfully!

You can now view myapp in the browser.

  Local:            http://localhost:3000
On Your Network: http://192.168.124.4:3000 Note that the development build is not optimized.
To create a production build, use npm run build.

如上就运行成功了,默认是3000端口,在浏览器上看到到画面:

Mac下搭建react开发环境的更多相关文章

  1. Mac下搭建php开发环境教程

    方案一:原生安装 这篇文章主要介绍了Mac下搭建php开发环境教程,Mac OS X 内置了Apache 和 PHP,这样使用起来非常方便.本文以Mac OS X 10.6.3为例,需要的朋友可以参考 ...

  2. mac 下搭建 Android 开发环境

    因工作需要,要在mac 下搭建 Android 开发环境.谷歌.度娘了好久,没有找个一个完整又系统的方法,很是苦恼.最终,皇天不负有心人,找到了下面这篇文档,结合亲身体验,特此记录.也为有这方面需求的 ...

  3. mac下搭建cordova开发环境

    Apache Cordova 原名叫PhoneGap.是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台.PhoneGap最初由Nitobi开发,2011年 ...

  4. 在mac下搭建java开发环境

    刚刚从windows系统转到使用mac系统.感觉不是特别熟悉,须要一定的适应时间. 以下简介一下mac下搭建主要的java开发环境. 1.安装jdk 安装jdk1.7后,发现不须要进行环境变量配置,直 ...

  5. cocos2dx mac下搭建android开发环境

    1)下载eclipse 地址:http://www.eclipse.org/downloads/ 2)安装adt 打开eclipse,菜单:help->install new software ...

  6. mac下搭建java开发环境:eclipse+tomcat+maven

    一.安装eclipse 直接下载 二.安装JDK 下载mac版专用的jdk1.7,地址如下:http://jdk7.java.net/macportpreview/, 确认java使用的版本:开一个终 ...

  7. 在MAC下搭建JSP开发环境

    1.Mac下JDK的下载安装及配置 在安装jdk之后,需要为jdk安装目录配置环境变量: 任意打开终端,默认是家目录的,然后直接输入: touch .bash_profile 然后输入:vi .bas ...

  8. 【android-cocos2d-X 环境配置】在Mac下搭建Cocos2d-X-android开发环境!

    转自:http://blog.csdn.net/dingkun520wy/article/details/17097593 (1)下载 首先要下载好要用到的东西: 1.android-SDK 地址是  ...

  9. 【android-cocos2d-X2.2 环境配置】在Mac下搭建Cocos2d-X-android开发环境!

    仅用于cocos2d-X2.2--cocos2d-X3.4 原文地址:http://blog.csdn.net/dingkun520wy/article/details/17097593 (1)下载 ...

随机推荐

  1. MyBatis(三)动态SQL与缓存

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.动态SQL语句 准备工作: public class User { private int id; ...

  2. ASP.NET的Web网页如何进行分页操作(Demo举例)

    大概说一下思路,可以利用sql的 Offset/Fetch Next分页,点击这里 这里的Demo利用LINQ的写好的方法 //这里是某个表的列表 skip是跳过前面的多少条数据 take这是跳过前面 ...

  3. Java实现 蓝桥杯油漆问题

    标题:油漆面积 X星球的一批考古机器人正在一片废墟上考古. 该区域的地面坚硬如石.平整如镜. 管理人员为方便,建立了标准的直角坐标系. 每个机器人都各有特长.身怀绝技.它们感兴趣的内容也不相同. 经过 ...

  4. (Java实现) 车厢重组

    [问题描述] 在一个旧式的火车站旁边有一座桥,其桥面可以绕河中心的桥墩水平旋转.一个车站的职工发现桥的长度最多能容纳两节车厢,如果将桥旋转180度,则可以把相邻两节车厢的位置交换,用这种方法可以重新排 ...

  5. Java实现矩阵相乘问题

    1 问题描述 1.1实验题目 设M1和M2是两个n×n的矩阵,设计算法计算M1×M2 的乘积. 1.2实验目的 (1)提高应用蛮力法设计算法的技能: (2)深刻理解并掌握分治法的设计思想: (3)理解 ...

  6. Java实现LeetCode_0007_ReverseInteger

    package javaLeetCode_primary; import java.util.Scanner; /** * Given a 32-bit signed integer, reverse ...

  7. java实现第六届蓝桥杯加法变乘法

    加法变乘法 题目描述 我们都知道:1+2+3+ - + 49 = 1225 现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015 比如: 1+2+3+-+1011+12+-+2728+29+- ...

  8. java实现第六届蓝桥杯九数分三组

    九数分三组 题目描述 1~9的数字可以组成3个3位数,设为:A,B,C, 现在要求满足如下关系: B = 2 * A C = 3 * A 请你写出A的所有可能答案,数字间用空格分开,数字按升序排列. ...

  9. Linux 日志管理简介

    查看日志rsyslogd是否启动和自启动 ps aux | grep rsyslogd 查看自启动(CentOS 7使用,CentOS 6可以使用chkconfig命令) systemctl list ...

  10. 从零搭建Window前端开发环境

    前言 作为一个小前端,是否因为搭建环境烦恼过,是否因为npm等国外镜像踩坑过,不要怕,接下来跟着我一步步搭建适合自己的开发环境吧!!! node 这个不用说了吧,我们经常和他打交道,无论是 gulp. ...