今天我无法运行我的开发环境,因为 Discourse 坚持使用 pnpm 9.15.5,而 npm 坚持安装 10.x 版本。pnpm --version 会在我的主目录中显示 10.x,但在 discourse 目录中运行时会失败。这花了我整个下午的时间。我最终用 npm 卸载了 pnpm,并在我的更新脚本中添加了以下内容:
PNPM_VERSION=$(docker run discourse/base:release bash -c 'pnpm --version'|cut -d'v' -f2)
echo "GOT PNPM version: $PNPM_VERSION"
asdf install pnpm $PNPM_VERSION 2>&1|grep -v "already"
asdf global pnpm $PNPM_VERSION 2>&1|grep -v "already"
这似乎奏效了。
我尝试使用 Docker 开发的魔法,但不知道如何传递环境变量,而且它甚至没有设置 DISCOURSE_DEV_ALLOW_ANON_TO_IMPERSONATE,所以我无法登录。
现在我又遇到了这个:
Error encountered while starting Sidekiq: [Discourse::Utils::CommandError] /home/pfaffman/src/discourse-repos/discourse/lib/discourse.rb:139:in `exec': renice: failed to set priority for 116553 (process ID): Permission denied
我想我之前通过编辑……某个文件修复了它。
好的。这是修复 nice 问题的方法。我发誓我不知道为什么只有我遇到了这个问题。
在一个类似这样的文件中:
sudo nano /etc/security/limits.d/90-pfaffman-nice.conf
添加类似这样的内容:
pfaffman soft priority 5
pfaffman hard priority 5