@gerhard 感谢你的温和提醒——我从头开始重新运行(从 git clone 开始),并在 /src/Gemfile 末尾添加了 gem 'sqlite3',因为我猜这就是你提到的那个,结果成功了!供参考,以下是我使用的步骤(针对 mne_analysis 邮件列表):
1. 在 Ubuntu 主机上
git clone https://github.com/discourse/discourse.git
cd discourse
d/boot_dev --init
d/rails db:migrate RAILS_ENV=development
d/shell
vim /src/Gemfile # 在末尾添加 gem 'sqlite3'
exit
d/bundle
2. 在 Docker shell 中
sudo mkdir -p /shared/import/data
sudo chown -R discourse:discourse /shared/import
wget -r -l1 --no-parent --no-directories "https://mail.nmr.mgh.harvard.edu/pipermail//mne_analysis/" -P /shared/import/data/mne_analysis -A "*-*.txt.gz"
rm /shared/import/data/mne_analysis/robots.txt.tmp
gzip -d /shared/import/data/mne_analysis/*.txt.gz
wget https://gist.githubusercontent.com/larsoner/940cd6c7100b87c4c5668cb0bc540afb/raw/9e78513620d11355ad0e10f4a2470996c26ebc8c/mailmanToMBox.py -O ~/mailmanToMBox.py
python3 ~/mailmanToMBox.py /shared/import/data/mne_analysis/
rm /shared/import/data/mne_analysis/*.txt
sudo apt install -y libsqlite3-dev # 对我而言无操作
# 检查结果
cat /shared/import/data/mne_analysis/*.mbox > ~/all.mbox
sudo apt install -y procmail
mkdir -p ~/split
export FILENO=0000
formail -ds sh -c 'cat > ~/split/msg.$FILENO' < ~/all.mbox
rm -rf ~/split ~/all.mbox
# 设置
wget https://raw.githubusercontent.com/discourse/discourse/master/script/import_scripts/mbox/settings.yml -O /shared/import/settings.yml
# 运行
cd /src
bundle exec ruby script/import_scripts/mbox.rb /shared/import/settings.yml
这输出了很多有用的信息,最后显示:
...
正在更新分类中的特色主题
5 / 5 (100.0%) [6890 项/分钟] ]
重置主题计数器
完成 (00 小时 06 分 21 秒)
然后退出并在 Ubuntu 主机上执行:
d/unicorn &
google-chrome http://0.0.0.0:9292
完成!
我可能会调整一下设置,去掉 [Mne_analysis] 前缀,但让我非常高兴的是,它已经运行得如此顺利!
