【uni-app系列】CentOS下打包部署uni-app


一、环境准备

CentOS 下安装以下环境。

1.jdk 1.8

CentOS下安装JDK1.8

2.maven3.8.4

CentOS7和8下安装Maven3.8.4

3.NodeJS

CentOS7和8下安装NodeJS
注意:安装 14.18.2 版本,高版本会存在问题。

4.Nginx

CentOS7和8下安装Nginx1.21.1

二、安装 uniapp-cli

1.安装

将 windows HBuilder 目录 D:\HBuilderX\plugins\uniapp-cli 下的文件拷贝至 CentOS /usr/local/uniapp-cli 目录下(其中的 node_modules 和 package-lock.json 可以不拷贝):
在这里插入图片描述
在 CentOS 命令行下执行命令:

npm install
[root@localhost uniapp-cli]# npm install
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
...

2.安装过程常见错误

(1)Cannot find module ‘/usr/local/compile-node-sass/node_modules/node-sass-china’

编译过程可能会报以下错误:

 ERROR  Failed to compile with 1 error                                                                                                                                                       10:21:56 AM

 error  in /home/source/shop-uniapp/pages/order/fillorder.vue?vue&type=style&index=1&id=6a3a91c1&scoped=true&lang=scss&

Syntax Error: Error: Cannot find module '/usr/local/compile-node-sass/node_modules/node-sass-china'
Require stack:
- /usr/local/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/getDefaultSassImplementation.js
- /usr/local/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/getSassImplementation.js
- /usr/local/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/index.js
- /usr/local/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js
- /usr/local/uniapp-cli/node_modules/loader-runner/lib/loadLoader.js
- /usr/local/uniapp-cli/node_modules/loader-runner/lib/LoaderRunner.js
- /usr/local/uniapp-cli/node_modules/webpack/lib/NormalModule.js
- /usr/local/uniapp-cli/node_modules/webpack/lib/NormalModuleFactory.js
- /usr/local/uniapp-cli/node_modules/webpack/lib/Compiler.js
- /usr/local/uniapp-cli/node_modules/webpack/lib/webpack.js
- /usr/local/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni-optimize/index.js
- /usr/local/uniapp-cli/node_modules/@vue/cli-service/lib/Service.js
- /usr/local/uniapp-cli/bin/uniapp-cli.js

解决方法
执行命令:

npm install bcrypt less node-sass-china --save

(2)stack Error: EACCES: permission denied, mkdir

如果报 “stack Error: EACCES: permission denied, mkdir” 错误,执行命令:

npm install bcrypt less node-sass-china --save --unsafe-perm

(3)再次报错:Cannot find module ‘/usr/local/compile-node-sass/node_modules/node-sass-china’

如果执行以上步骤后,仍然报 Cannot find module ‘/usr/local/compile-node-sass/node_modules/node-sass-china’ 错误:

Syntax Error: Error: Cannot find module '/usr/local/compile-node-sass/node_modules/node-sass-china'

解决方法
加入两个软连接:

ln -s /usr/local/uniapp-cli/ /usr/local/compile-node-sass
ln -s /usr/local/uniapp-cli/ /usr/local/compile-less

三、下载源码

cd /home/source
git clone http://192.168.1.15/project/shop-uniapp.git

四、编写构建文件 package.json

进入项目目录,生成 package.json 文件并修改:

cd /home/source/shop-uniapp
npm init -y
vi package.json
{
  "name": "shop-uniapp",
  "version": "1.0.0",
  "description": "##### 🌹  开源不易,如有帮助请点Star",
  "main": "main.js",
  "directories": {
    "lib": "lib"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build:h5": "INIT_CWD=`pwd` && cd /usr/local/uniapp-cli && cross-env UNI_INPUT_DIR=$INIT_CWD/ UNI_OUTPUT_DIR=$INIT_CWD/unpackage/dist/build/h5 UNI_PLATFORM=h5 NODE_ENV=uni-build node /usr/local/uniapp-cli/bin/uniapp-cli.js"
  },
  "repository": {
    "type": "git",
    "url": "http://192.168.1.15/project/shop-uniapp.git"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "bcrypt": "^5.0.1",
    "less": "^4.1.2"
  },
  "devDependencies": {
    "node-sass-china": "^4.13.1"
  }
}

五、运行编译命令打包

npm install cross-env -g && npm install && npm run build:h5

此时会在 /home/source/shop-uniapp/unpackage/dist/build/h5/ 目录下生成部署文件,将文件发布到 Nginx 的部署目录即可。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
对于在 CentOS 上安装和部署 MySQL 5.7.41,您可以按照以下步骤进行操作: 1. 确保您的 CentOS 系统已经安装了 `wget` 和 `tar` 工具。如果没有安装,可以使用以下命令进行安装: ``` sudo yum install wget tar ``` 2. 使用 `wget` 下载 MySQL 5.7.41 的二进制版本。您可以从 MySQL 官方网站下载适用于 CentOS 的二进制版本,例如: ``` wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz ``` 3. 解压下载的二进制文件: ``` tar -zxvf mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz ``` 4. 移动解压后的文件夹到 `/usr/local` 目录下: ``` sudo mv mysql-5.7.41-linux-glibc2.12-x86_64 /usr/local/mysql ``` 5. 创建 MySQL 数据存储目录: ``` sudo mkdir /usr/local/mysql/data ``` 6. 授权 MySQL 数据存储目录给 MySQL 用户: ``` sudo chown -R mysql:mysql /usr/local/mysql/data ``` 7. 初始化 MySQL 数据库: ``` cd /usr/local/mysql sudo ./bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data ``` 8. 启动 MySQL 服务: ``` sudo ./bin/mysqld_safe --user=mysql & ``` 9. 设置 MySQL 环境变量: ``` echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bashrc source ~/.bashrc ``` 10. 运行 MySQL 安全脚本以加强安全性并设置 root 用户密码: ``` sudo ./bin/mysql_secure_installation ``` 11. 您现在应该可以通过以下命令登录到 MySQL: ``` mysql -u root -p ``` 这些步骤将帮助您在 CentOS 上安装和部署 MySQL 5.7.41。请注意,这只是基本的安装步骤,您可能还需要根据您的实际需求进行其他配置和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奔跑吧邓邓子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值