Here is the error when I try to bootstrap without the plugin.
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return # <Process::Status: pid 22379 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:108:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"bundle_exec", "cmd"=>["su discourse -c 'bundle install -- deployment --verbose --without test --without development'", "su discourse -c 'bundle exec rake db:migrate'", "su discourse -c 'bundle exec rake assets:precompile'"]}`
And then scrolled up I get this:
I, [2017-01-01T23:52:03.038385 #15] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
URGENT: type Failed to initialize site default
rake aborted!
ArgumentError: type
Handy with most things but I don’t know where to start with this because I bootstrap fine with the plugin.
Looks like df-core is the plugin at fault. Isn’t that one of the Discouse PRO plugins? It’s been a while since I looked at the code on those but if memory serves they contained db migrations. Not sure if that’s good or bad at the moment.
Is it possible that by removing the plugin (and thus removing the migrations) it’s throwing an error?
가끔만 Discourse를 관리하거나, 초보자에게, 또는 일반적으로 시간을 절약하기 위해 가능한 한 구체적으로 질문하는 것이 가장 도움이 됩니다.
이 특정 사례에서 app.yml 파일이 정확히 어디에 있나요? /var/discourse 디렉터리에는 해당 파일을 찾지 못했지만, app-sparkpost.yml은 볼 수 있습니다. 아마도 약 5년 전 인스턴스를 배포할 때 제가 만든 파일일 수도 있고, 그렇지 않을 수도 있습니다. 이것이 올바른 경로인가요? /var/discourse에 app.yml이 없는데, Discourse는 어떻게 이 파일을 읽도록 설정되어 있나요?
아니요, /var/discourse 자체에는 yaml 파일이 하나도 없을 것으로 예상합니다. 올바른 경로는 /var/discourse/containers입니다. 제 생각에는 Discourse가 containers 디렉터리 내의 모든 파일을 읽을 것 같지만, 이 질문에 대해서는 제가보다 엔지니어가 더 잘 답변해 줄 수 있을 것입니다. 파일 이름은 실제로 중요하지 않다고 생각합니다.
app.yml 파일은 /var/discourse/containers/app.yml 경로에서 찾을 수 있습니다. 해당 파일을 편집하여 플러그인에 대한 모든 참조를 제거해야 합니다. 파일 내에서 다음과 유사한 항목을 찾을 수 있어야 합니다:
## Plugins go here
## see https://meta.discourse.org/t/19157 for details
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/discourse/discourse-jwt.git
- git clone https://github.com/zh99998/discourse-cross-origin.git
여기 있는 각 git clone 행은 Discourse 인스턴스에 설치된 플러그인을 나타냅니다. 파일을 편집한 후에는 Discourse 애플리케이션을 다시 빌드해야 합니다. /var/discourse 폴더에서 ./launcher rebuild app을 실행하여 Discourse 애플리케이션을 다시 빌드할 수 있습니다.