Mac下编译dinky-web(踩坑篇)

简介: Mac下编译dinky-web(踩坑篇)

01 引言

按照dinky官网的提示来编译启动dinky-web,似乎总会有一些问题,本文按步骤来解决这些问题。

官方的编译步骤:http://www.dlink.top/docs/0.7/deploy_guide/compiler

02 工具安装

官方要求node.js的版本为14.19.0,npm版本为7.19.0。

根据官网提示,一般安装了node.js的pkg安装包之后,npm也会自动跟着安装,但是npm的版本不对应,要怎么做呢?下面使用nvm的方式来详细讲解。

首先,按照以下步骤安装 nvm

## 1. 安装
brew install nvm
## 2. 在home目录中为NVM创建一个文件夹
cd /home
mkdir ~/.nvm
## 3.配置所需的环境变量
vi ~/.bash_profile 
#### 末尾加入并保存
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh
## 4. 重新加载bash_profile
source ~/.bash_profile
## 5. 验证(如果有版本号打印出来,表示成功)
nvm  -v

接着可以安装特定版本的node.js了:

# 安装
nvm install 14.19.0
# 验证
node --version

手动更新 npm 版本,运行以下命令以安装 npm 7.19.0:

npm install -g npm@7.19.0
# 验证
npm --version

可以看到node.js 以及npm均按照要求安装成功。


为了使npm下载速度更快,可以设置国内镜像源,这里设置淘宝的镜像源

npm config set registry http://registry.npm.taobao.org

03 编译

进入dlink项目下的dlink-web目录,执行:

npm install

3.1 dva版本不兼容

执行之后,发现报了如下错误:

这个错误,是因为项目使用 ant-design-pro@5.2.0,它依赖于 react@^17.0.0,同时依赖了 dva@2.4.1,但要求使用 react@15.x ~ 16.0.0-0,解决方式就是,更新 dva 到与react@17.x.x兼容的版本。

查看dva所有版本:

npm show dva versions

看看最新版本对应的react版本要求:

npm view dva@2.6.0-beta.1 peerDependencies

晕死,上述结果表示以 16.18.4 版本为基础,允许使用相同主版本号的任何更新版本,也没满足要求的react@^17.0.0

解决这个问题的一种方式是使用 npm--legacy-peer-deps 选项重新安装依赖项,该选项可以使用旧的依赖项解析算法来解决依赖冲突:

npm install --legacy-peer-deps

终于成功了:

04 启动

ok,现在可以启动了:

npm start

不出意外的意外,又报错了:

根据报错信息,是因为/src/component下的index.md文件报错了,删除,重新start:

好了,算是启动成功了,直接浏览器输入http://localhost:8000即可登录。

目录
相关文章
|
2月前
|
Kubernetes NoSQL Java
ChaosBlade常见问题之在mac下编译报checksum mismatch的错误如何解决
ChaosBlade 是一个开源的混沌工程实验工具,旨在通过模拟各种常见的硬件、软件、网络、应用等故障,帮助开发者在测试环境中验证系统的容错和自动恢复能力。以下是关于ChaosBlade的一些常见问题合集:
19 0
|
4月前
|
编解码 Ubuntu C++
WebAssembly01--web 编译FFmpeg(WebAssembly版)库
WebAssembly01--web 编译FFmpeg(WebAssembly版)库
21 0
|
5月前
|
SQL 存储 前端开发
Presto【部署 01】Presto服务安装配置启动验证及客户端web工具Yanagishima安装配置验证(详细配置说明+Yanagishima已编译文件分享)
Presto【部署 01】Presto服务安装配置启动验证及客户端web工具Yanagishima安装配置验证(详细配置说明+Yanagishima已编译文件分享)
98 0
|
11月前
|
移动开发 JavaScript 算法
web前端面试高频考点——Vue原理(diff算法、模板编译、组件渲染和更新、JS实现路由)
web前端面试高频考点——Vue原理(diff算法、模板编译、组件渲染和更新、JS实现路由)
166 0
|
12月前
|
安全 编译器 Shell
[✔️]mac上编译使用ffmpeg
[✔️]mac上编译使用ffmpeg
473 0
|
Java Shell
Mac上使用Sublime Text 3配置java编译运行环境
Mac上使用Sublime Text 3配置java编译运行环境
90 0
|
iOS开发
MAC上使用不同版本的xcode编译
MAC上使用不同版本的xcode编译
74 0
|
Oracle Java 关系型数据库
MAC编译OpenJDK8(含202-242)的Xcode版本问题
MAC编译OpenJDK8(含202-242)的Xcode版本问题
67 0
|
Java
MAC编译的JDK执行出错: [libjvm.dylib+0x482a49] PerfDataManager::destroy()+0xab
MAC编译的JDK执行出错: [libjvm.dylib+0x482a49] PerfDataManager::destroy()+0xab
88 0