依赖关系
Python 3.7+ (version 13) / Python 3.10+ (develop branch / v14+)
Node.js 14
Redis 6 (caching and realtime updates)
MariaDB 10.3.x / Postgres 9.5.x (to run database driven apps)
yarn 1.12+ (js dependency manager)
pip 20+ (py dependency manager)
wkhtmltopdf (version 0.12.5 with patched qt) (for pdf generation)
cron (bench's scheduled jobs: automated certificate renewal, scheduled backups)
NGINX (proxying multitenant sites in production)
Linux 系统的安装
安装pyhone环境
apt install git python-dev python-pip redis-server
安装 MariaDB
如果您使用的是 Ubuntu 20.04 版本,则 MariaDB 在默认存储库中可用,您可以直接运行以下命令进行安装:
apt-get update
apt-get install mariadb-server mariadb-client
在此安装过程中,系统将提示您设置 MySQL 根密码。如果没有提示,则必须自己初始化MySQL服务器设置。您可以通过运行以下命令来执行此操作:
mysql_secure_installation
请记住:仅在设置过程中未提示您输入密码时才运行它。
记住此密码非常重要,因为它以后会很有用。您还需要 MySQL 数据库开发文件。
现在,编辑 MariaDB 配置文件。
nano /etc/mysql/my.cnf
并添加此配置
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[mysql]
default-character-set = utf8mb4
现在,只需重新启动mysql服务,您就可以开始了。
service mysql restart
安装节点
我们建议使用 nvm 安装节点
【nvm是一个node的版本管理工具,可以简单操作node版本的切换、安装、查看。。。等等,与npm不同的是,npm是依赖包的管理工具】
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
安装 nvm 后,您可能需要关闭终端并打开另一个终端。现在运行以下命令来安装节点。
nvm install 14
通过运行以下命令验证安装:
node -v
# output
v14.17.2
最后,使用yarn
npm
【
Yarn是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具 】
【
NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题】
npm install -g yarn
Install wkhtmltopdf
apt-get install xfonts-75dpi
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.1.4-2/wkhtmltox_0.12.1.4-2.bionic_amd64.deb
dpkg -i wkhtmltox_0.12.1.4-2.bionic_amd64.deb
通过 pip3 安装工作台
pip3 install frappe-bench
通过检查版本确认工作台安装
bench --version
# output
5.2.1
创建您的第一个工作台文件夹。
cd ~
bench init frappe-bench
创建 frappe-bench 文件夹后,将目录更改为该文件夹并运行此命令
bench start
.
├── Procfile
├── apps
│ └── frappe
├── config
│ ├── pids
│ ├── redis_cache.conf
│ ├── redis\_queue.conf
│ └── redis\_socketio.conf
├── env
│ ├── bin
│ ├── include
│ ├── lib
│ └── share
├── logs
│ ├── backup.log
│ └── bench.log
└── sites
├── apps.txt
├── assets
└── common\_site\_config.json