首页 > 系统相关 >在 Ubuntu 上安装 Discourse 开发环境

在 Ubuntu 上安装 Discourse 开发环境

时间:2022-12-10 22:24:33浏览次数:84  
标签:环境 bundle Discourse 开发 Ubuntu 安装

:warning: 本指南只针对 Discourse 开发环境的配置,如果你需要在生产环境中安装 Discourse ,请访问页面:Install Discourse in production with the official, supported instructions - sysadmin - Discourse Meta 中的内容。

:information_source: 有关开发环境的设置英文原文,请参考:Set up a local Discourse Development Environment? - developers - Discourse Meta 页面中的内容。


本文只针对在 Ubuntu 环境下的开发进行设置,因为 Discourse 是基于 Ruby 开发的,Ruby 的开发环境在 Ubuntu 下设置最为简便,所以 Discourse 的生产环境运行也是是官方建议在 Ubuntu 下运行的,虽然我们的社区是运行在 REHL 环境下也没有问题,因为使用了 Docker 的容器,但如果你想对 Discourse 进行开发的话,建议还是使用 Ubuntu 环境。

如果你使用的是 Windows 系统的话,你需要安装 WSL 环境。WSL 是 Windows 提供的一个基于 Ubuntu 的环境,主要用于解决 Windows 下开发Linux 应用的问题。

本文章假设你还没有在 Ubuntu 环境中安装 Ruby/Rails/Postgres/Redis 环境,让我们开始开发环境的配置吧!

尽管这个开发指南是假定你使用的是 Ubuntu 开发环境,但是任何基于 Debian 发行的 Linux 系统都是可以使用的。

本开发指南在 Ubuntu 18 上验证过不需要任何其他的步骤就可以完成开发环境设置。

:exclamation: 基于 Ubuntu/Debian 开发环境的使用不同,你可能在对 Ubuntu/Debian 进行开发的时候需要参考下下面的信息:

 有关在 Ubuntu 20.04 及其后续版本上安装 Discourse 测试环境 有关在 Ubuntu 低于 20.04版本上安装 Discourse 测试环境

根据我们进行测试的经验来看,Ubuntu 22 的版本中可能有无法编译和包找不到的情况,我们还只在 20.04 上完成本地开发环境的设置。

安装 Discourse 依赖

作为一般的用户,可以在控制台中运行下面的命令: this script 。上面的命令将会帮助你在本地的开发环境中快速设置 Rails。

运行的命令为:

bash <(wget -qO- https://raw.githubusercontent.com/discourse/install-rails/master/linux)

上面的命令将会在你的本地系统中安装下面的包:

如果在你的本地操作系统中已经安装了一些软件,或者你不希望安装所有的软件的话,请参考 script 中的内容,然后选择你不希望当前安装的软件。上面的安装脚本将会安装所有 Discourse 运行需要的软件,这些软件将会为 Discourse 的运行提供支持。

当你完成安装所有的 Discourse 依赖后,我们就可以对 Discourse 进行安装了。

 

Snag_13a25749

 

上图显示的是在 Ubuntu 中安装的界面,整个软件安装的过程还是比较耗时的,可能需要5 分钟以上,与你使用的系统有关。

克隆(Clone)Discourse

克隆 Discourse 到 ~/discourse 文件夹中

git clone https://github.com/discourse/discourse.git ~/discourse

~ 定义的是当前的 Home 文件夹,这个意思是 Discourse 的程序将会复制到你的 home 文件夹下。

因为我们使用的是 WSL 子系统,因此我们实际上是把文件克隆到我的 D 盘下了。

 

2022-12-07_16-22-54

 

设置(Setup) Database

创建一个 与你 ubuntu 系统用户名相同的用户

sudo -u postgres createuser -s "$USER"

如果你在运行上面的命令的时候提示错误:

createuser: error: could not connect to database template1: could not connect to server: No such file or directory

请参考页面:Discourse 开发环境安装 PGSQL 提示错误 2 中的内容。

启动 Discourse

切换到你的 Discourse 克隆目录中:

cd ~/discourse

安装所需要的 gems

source ~/.bashrc
bundle install

同时安装所需要的 JS 依赖

yarn install

当到这一步为止,你已经安装好所有需要的 gems 和依赖,请尝试运行下面的命令:

bundle exec rake db:create 
bundle exec rake db:migrate
RAILS_ENV=test bundle exec rake db:create db:migrate

如果在运行的时候出现错误,请仓库: Discourse 开发环境安装运行 bundle exec rake db:create 错误 中的内容。

尝试运行下面的命令:

bundle exec rake autospec

你的项目应该会通过所有的测试。

这个测试非常耗时,可以不做这个的,要不然估计几个小时就出去了。

运行下面的命令来启动服务器:

bundle exec rails server

当你完成上面的安装步骤后,你应该可以通过 http://localhost:3000 访问你本地安装的 Discourse。

从 Discourse 2.5+ 开始, 针对本地的开发环境 EmberCLI 变成必须的选项了。:

如果你直接通过界面访问 3000 端口的话,会得到下面的提示界面:

 

2022-12-09_11-53-23

 

在你的控制台终端中,进入 (cd ~/discourse) 文件夹,然后运行:

bin/ember-cli

你应该可以通过访问t http://localhost:4200 地址来查看你的本地 Discourse 安装。

:warning: 需要注意的是这 2 个服务器都需要同时启动,ember-cli 是通过反向代理的方式访问 3000 的。

创建一个新的 Admin 账号

在对开发环境进行登录之前,需要创建一个管理员账号,运行下面的命令进行创建:

RAILS_ENV=development bundle exec rake admin:create

请按照命令行的提示来创建这个管理员账号。

需要输入的信息为电子邮件地址和密码。

配置邮件

运行 MailHog:

mailhog

当你完成上面的所有步骤后,你的 Discourse 本地开发环境就已经配置好了,你现在就可以以管理员账号来登录 Discourse 了。

如果你想对 Discourse 开发插件的话,请参考: Developing Discourse Plugins - Part 1 - Create a basic plugin - developers - Discourse Meta 页面中的内容指南。

https://www.ossez.com/t/ubuntu-discourse/14239


 

标签:环境,bundle,Discourse,开发,Ubuntu,安装
From: https://www.cnblogs.com/huyuchengus/p/16972460.html

相关文章

  • sft1200插件安装|ssr|istore
    之前都是使用代理软件上网,github都得挂(github访问非常玄学)后来买了xbox,发现xbox上有Netflix,所以最终选择软路由,挑来挑去最终咸鱼130收了这个路由器,比r2s便宜还带wifi,主要......
  • 05 Vue-cli项目安装和配置
    第一步:使用管理员身份运行命令提示符,并进入所要创建vue的文件夹中 第二步:创建vue-cli,选择vue3①使用vuecreatevuedemo01,进入创建项 ②选择vue3,并进入项目中......
  • Centos7下安装PostgreSQL14及其基本命令使用
    MySQL关系型数据库目前算是互联网公司使用最多的。前两天看到一个推文,相对比国内使用MySQL,PostgreSQL在国内的普及貌似不高?国外像网络电话公司Skype公司等在大量使用Postgre......
  • Docker 安装 Kibana
    1.下载镜像dockerpullkibana:8.5.22.创建配置文件cat>/mnt/docker/elk/kibana/config/kibana.yml<<EOFserver.host:"0.0.0.0"server.shutdownTimeout:"5s"......
  • Docker 安装 Logstash
    1.下载镜像dockerpulllogstash:8.5.22.创建配置文件cat>/mnt/docker/elk/logstash/pipeline/logstash.conf<<EOFinput{tcp{mode=>"server"h......
  • 02 安装vue-router的过程中报错
    错误截图:使用两种加载vue-router的方法 解决办法:输入:npminstall--legacy-peer-depsvue-router--save-dev 至于原因吗,暂时不知道,以后遇到这种vue-router加载不......
  • Zabbix 6 系列学习 03:包安装(Ubuntu)
    本文采用的是Ubuntu22.04,其他系统请参考后续文章。本文环境系统:Ubuntu22.04LTSPHP:8.0PostgreSQL:14前端:Nginx系统版本前提由于初始化的Ubuntu是普通用户权限,所以会出现......
  • ubuntu编译openwrt3.10.14
    ubuntu编译openwrt-凡尘夫子-博客园(cnblogs.com)  ubuntu编译openwrt-凡尘夫子-博客园(cnblogs.com)......
  • Android SDK下载和安装
    下载地址:​​https://www.androiddevtools.cn/​​​直接解压后,打开SDKManager.exe选择需要安装的包配置环境变量:控制台输入adbversion查看是否安装成功......
  • 虚拟机软件安装及配置
    下面正式来安装Linux系统,安装系统前需要下载如下软件:VMwareworkstation10.0CentOS7.xx86_64安装图解如下:Vmware10.0下载路径:​​http://download3.vmware.com/softw......