edwardila
(Edward Skalibog)
1
Discourse 팀에 인사드립니다.
플러그인 디렉터리의 Gemfile에 대한 흥미로운 해결책을 제안드리고, 필요할 경우 외부 gem을 추가하는 방법에 대해 말씀드리고 싶습니다.
# Load plugins' Gemfiles
Dir.glob File.expand_path("../plugins/*/{Gemfile}", __FILE__) do |file|
eval_gemfile file
end
이 내용을 메인 Gemfile에 추가하면 플러그인에서 Gemfile을 로드할 수 있습니다.
이 해결책에 대해 논의해 보겠습니다.
P.S. eval_gemfile DSL 문서 => https://apidock.com/ruby/v2_6_3/Bundler/Dsl/eval_gemfile
Falco
(Falco)
2
흥미롭네요! 현재 플러그인은 plugin.rb 파일에 전체 재귀적 의존성 트리를 나열하여 gem을 요구할 수 있습니다. 예를 들어:
edwardila
(Edward Skalibog)
3
감사합니다. 제가 찾던 바로 그 내용이었네요.
하지만 제 결정이 저에게는 더 명확하고 이해하기 쉬운 것 같습니다.
이유(개인적 의견):
- plugin.rb을 더 깔끔하게 유지할 수 있습니다.
- Gemfile이 Rails 개발자에게 더 이해하기 쉽습니다.
sam
(Sam Saffron)
4
불행히도 이는 잠금 파일(lock file)이 계속 변하는 대상이 되게 하며, 우리는 이를 소스 제어에 포함하여 배포합니다.
Gem 파일은 좋지만, 델타 잠금 파일(delta lock files)을 배포할 수 있을 때까지 이 유형의 솔루션은 작동하지 않을 것입니다.