Rubygems를 설치하지 않고 gem을 다운로드하는 가장 간단한 방법은 무엇입니까?

Rubygems를 설치하지 않고 gem을 다운로드하는 가장 간단한 방법은 무엇입니까?

특정 gem에 필요한 모든 gem을 설치하지 않고 gem을 다운로드하고 싶습니다.

특히 Rails 3 gem을 위한 것입니다. 의존성이 많아서 현재 Ruby/rake/rails 소프트웨어가 없는 폐쇄형 서버에 설치해야 합니다.

rubygems.org를 클릭하는 것은 지루한 작업이므로 어떤 단서도 얻을 수 있을 것입니다.

알았어, 좀 더 명확하게 설명해줄게. 내가 원하는 것은 이것이 작동하는 것입니다.

gem 설치 레일 --다운로드 전용

그러면 결과 보석을 디스크에 구울 수 있고 인터넷에 접속할 수 없는 서버로 옮길 수 있으므로 문제가 해결될 것입니다.

답변1

단일 gem을 다운로드하려면 (예를 들어 Loudmouth gem을 사용하여):

gem fetch loudmouth
Fetching: loudmouth-0.2.4.gem (100%)
Downloaded loudmouth-0.2.4

Rails 3 앱이 실행에 의존하는 모든 gem을 다운로드하려면:

bundle package

그러면 모든 gem(및 해당 종속성)이 다운로드되어 공급업체/캐시에 배치됩니다(설치하지 않음).

그런 다음 공급업체/캐시에 있는 모든 gem을 CD에 굽고 네트워크 액세스 없이 물리적으로 다른 서버로 가져올 수 있습니다.

답변2

글쎄, 나는 내 질문에 대답하고 싶지 않지만 이것이 내 질문에 대한 해결책이 될 가능성이 가장 높다고 생각합니다.

- find network enabled machine
- install rails and all needed gems using RubyGems.
- tar/zip /usr/lib[64]/ruby/gem/1.9.1/cache/*.gem
- transport tar file to non-networked computer.

gem에 캐시된 파일의 위치는 매우 유용합니다. 네트워크로 연결된 컴퓨터에 수많은 보석이 있고 내가 사용했을 모든 보석을 전송하고 싶지 않은 경우

> bundle list

필요한 애플리케이션별 보석을 표시합니다.

-다니엘

답변3

Rails와 해당 종속성을 포함하여 애플리케이션에 필요한 모든 gem을 포함하는 로컬 RubyGems 서버를 생성하겠습니다.

기본 문서는 다음과 같습니다.

이 블로그 게시물은 자동 인덱싱을 위해 Gem을 보낼 수 있는 내부 서버를 설정하는 방법을 보여줍니다.

답변4

불행히도 종속성 문제를 해결할 수는 없습니다. 이유가 있기 때문에 필요합니다. 필요한 종속성 없이 Rails를 설치하려고 하면 Rails가 실행되는 경우에도 많은 문제가 발생하게 됩니다.

폐쇄의 의미를 정확히 지정하지 않았습니다. 시스템 전반에 걸쳐 소프트웨어를 설치할 수 없기 때문에 닫혀 있다는 의미라면 다음을 살펴보십시오.RVM, 독립형 Ruby 환경을 만들 수 있는 소프트웨어입니다. 또한 다른 서버에 이를 설정하고 서버가 인터넷에 연결되어 있지 않으면 다른 서버로 이동할 수도 있습니다. 그것을 살펴보고 이것이 도움이되는지 확인하십시오.

관련 정보