Rails 앱을 조사 중입니다. prod 서버에 특정 gem의 두 가지 버전이 설치되어 있습니다. prod 앱이 사용중인 버전을 어떻게 알 수 있나요?
답변
Rails 3 및 Rails 4에서는 bundle show
Rails 2에서는 rake gems
어떤 gem, 의존성, 버전이 설치되고 고정되어 있는지 출력합니다.
답변
번 들러를 사용하는 경우 다음에서 버전을 가져올 수 있습니다.
bundle show [gemname]
답변
이 정보를 찾고 분류하는 데 예상보다 오래 걸렸기 때문에 다른 사람들이 볼 수 있도록 여기에 게시하고 싶었습니다. 또한 Rails 3에 대해 이것을 약간 명확히하고 싶었습니다.
-
스크립트 / 정보가
rake about
세부 정보 로 대체되었습니다 . here . Rails 3의 모든 커맨드 라인 변경 사항에 관심이 있다면 여기 에서 찾을 수 있습니다 . -
rake gems
Rails 3에서는 작동하지 않습니다. 대신bundle show
예를 들어, 모든 버전의 gem을 파일에 저장하여 볼 수 있습니다.
gem list > all_gems.txt
Rails 앱이 다음과 함께 사용중인 버전을 확인할 수 있습니다.
bundle show > project_gems.txt
Vim과 같은 편집기를 사용하면 vimdiff를 사용하여 변경 사항을 쉽게 확인할 수 있습니다.
답변
이를 알아내는 더 직접적인 방법이있을 수 있지만 콘솔을로드하고 다음과 같은 특정 버전이 필요한 경우 :
gem 'RedCloth', '3.0.4'
이미 활성화 된 버전을 알려줍니다.
=> Gem::LoadError: can't activate RedCloth (= 3.0.4, runtime) for [], already activated RedCloth-4.2.2
답변
터미널에서
bundle show <gem-name>
bundle show | grep <gem-name>
또는
gem list | grep <gem-name>
예를 들면 :
bundle show rails
bundle show | grep rails
gem list | grep rails
답변
또한 목록이 있습니다 Gemfile.lock
앱의 루트 디렉토리에있는 있습니다.
이런 이유로 나는 Gemfile.lock
내 .gitignore
. 에서 gem 버전을 지정하는 것을 잊었을 때 두 번 이상 저를 구했고 GemFile
gem이 주요 변경 사항으로 업데이트되었습니다.
답변
을 사용해보십시오 script/about
. 당신 config/environment.rb
도 그것에 대한 정보를 가지고 있습니다.
당신에 config/environment.rb
당신은 어떤 특정의 버전을 지정할 수 있습니다 gem
응용 프로그램을 사용해야합니다. 그러나 gem
시스템에 여러 버전의 버전이 설치되어 있고 버전을 지정하지 않으면 해당 gem의 최신 버전이 응용 프로그램에서 사용됩니다.