记录Parse+PostgreSQL作为轻服务器的使用(MacOS)
引言
从2022年末开始用aws-amplify作为应用程序的轻后端使用,但在2024年发现服务器居然要科学上网才能访问了,而且aws-amplify在很多时候可操作性比较低,并且数据返回错误及延迟比较大(也可能是本人使用问题),因此考虑尝试别的轻后端来使用,翻来覆去也就找到Parse是免费开源的。
Parse环境搭建
网址:Parse官方
依赖 |
---|
Node.js |
MongoDB或postgreSQL+postGIS |
mongoDB虽然好用,但是收费,因此采用了postgreSQL+postGIS的方案。
- Node.js 安装: 该项比较简单,跳转链接
- PostgreSQL+postGIS安装:
PostgreSQL官方
PostGIS官方
中文手册
官网有几种安装方:
1.Interactive installer by EDB ,这个太坑了,postgreSQL安装好后要安装postGIS,用它自带的stackBuilder,怎么安装都提示报错sumcheck啥的,完全不知道原因,各种资料也是解决不了。
2.Postgres.app安装,强烈推荐用postgreSQL.app安装,真的方便太多,根据视频教程,安装的比较快
3.homebrew,mac用的熟练使用,postgis依赖蛮多,个人试了一下切换了源还是有下载失败的情况
Postgres测试:psql --version
输出:psql (PostgreSQL) 16.2 (Postgres.app)
postgis测试:CREATE EXTENSION postgis;
- 安装可视化界面PGadmin
官方地址:地址
坑:
1.mac安装好后并不是root用户,而是给你创建了一个postgres的用户,所以使用psql命令或postgres命令都无法操作数据库,会报错:
FATAL: could not open lock file "/tmp/.s.PGSQL.5432.lock": Permission denied
这个时候有2种解决方法,一是输入如下命令,切换为临时的postgres用户,但每次切比较麻烦
sudo -u postgres psql
第二种是直接在数据库中创建一个你需要的用户名的对象,右击下图中的登陆/组对象,然后创建即可
同样的,如果在运行parse-server的过程中如下报错,也是因为mac用户的问题。
error: role "xxxxxxxxxxx" does not exist
Parse本体安装
用npm安装比较简单。
npm install -g parse-server
npm install -g parse-dashboard
parse-server是服务器本体,parse-dashboard是一个可视化的webUI。
启动服务器:
输入:parse-server --appId APPID --masterKey MASTERKEY --databaseURI postgresql://localhost:5432/my_db
结果:[2012] parse-server running on http://localhost:1337/parse
测试:浏览器访问http://localhost:1337/parse/health
返回{“status”:“ok”}则启动成功。
启动UI并连接服务器
输入:parse-dashboard --dev --appId APPID --masterKey MASTERKEY --serverURL "http://localhost:1337/parse" --appName APPNAME
结果:The dashboard is now available at http://0.0.0.0:4040/
浏览器访问http://localhost:4040/出现parse的UI则成功。
Parse-SDK(Xcode/Swift)
1.用cocopods安装SDK。
pod 'Parse','~> 1.19.4'
坑:
Xcode编译报错,但我工程的deployment target 已经非常高了(16.4)不可能是这个的问题,参考地址,下载libarclite_iphoneos.a放入提示错误的路径内。