Windows에서 Ruby / Rails 실행시 제한 사항


81

RoR에 대한 설치 문서에는 Windows에서 Ruby on Rails를 실행하는 데 많은 제한이 있으며 경우에 따라 전체 라이브러리가 작동하지 않는다고 언급되어 있습니다.

이러한 제한은 얼마나 나쁜가요? RoR을 코딩 / 실행하기 위해 항상 Linux를 기본으로 설정해야하며 Iron Ruby가 이러한 제한을 수정할 것으로 예상됩니까 아니면 OS 자체의 핵심입니까?

편집 설치 및 Linux에서 실행에 대한 답변에 감사드립니다. 그러나 설치 설명서 및 작동하지 않는 라이브러리에서 참조한 기능의 한계를 이해하려고 노력하고 있습니다. 주석에 대한 링크를 찾으려고합니다. 내가 생각하는 msi 패키지를 설치할 때 설치에서 참조

편집 최근 IronRuby에 대한 참조를 주셔서 감사합니다.이 프로젝트는 확실히 지켜봐야 할 프로젝트이며, 분명히 .NET 언어이므로 약속을 지키면 매우 유용 할 것입니다. 그러나 결국 제 경우에는 총알을 깨고 우분투 서버를 설치했습니다.

<bias> 몇 년 전에 했어야 했어요 </ bias>


제한이 없습니다. 각 문제에 대한 해결 방법 또는 대안이 있습니다.
Chloe

답변:


101

다음은 Windows 기반 Rails의 현재 문제에 대한 개요입니다.

  • Ruby와 Rails는 Unix와 유사한 OS보다 Windows에서 느립니다.
  • 일부 보석 및 라이브러리는 Windows에서 작동하지 않습니다.
  • 일부 Unix-ism은 Windows에서 사용할 수 없습니다 ( ).
  • 커뮤니티는 대부분 Mac 또는 Linux에 있습니다 ( 이는 특히 다루기 어려운 문제입니다. 나머지 부족이 파티를하고, 즐겁게 지내고, 다른 섬에서 잘 지낼 때 아무도 한 섬에 혼자 있고 싶지 않습니다. 중요 레일로 시작하는 대부분의 Windows 개발자들이 신속하게 맥 또는 리눅스로 전환 할 것으로 보인다.. 그러나 , 지속 않는 윈도우 루비 사용자의 작은 지역 사회는 매우 전용, 친절하고 지식 - 인사를 이동합니다 . )

Windows의 Ruby에 안정성, 호환성 및 성능을 제공 하기위한 RubyInstaller 팀 의 엄청난 노력으로 인해 다음과 같은 많은 조언이 구식 입니다. 저는 더 이상 VirtualBox를 사용할 필요가 없습니다. 이것은 Windows에서 Ruby가 얼마나 발전했는지에 대해 많은 것을 알려줍니다.

더 자세한 기술 정보를 원하면 다음을 읽어야합니다. :

마지막 인용문의 선택 인용문은 다음과 같습니다.

AkitaOnRails : 가장 명백한 것은 Windows에 적합한 바이너리가없는 C 확장이있는 Gem이 실패한다는 것입니다. 쉘 명령을 실행하려고하면 실패하고 RubyInline도 실패합니다. 또 뭐야?

Luis Lavena : Hehe, 그건 빙산의 일각에 불과합니다.

모든 것을 말했지만 Windows에서 Rails로 개발하는 것이 너무 고통 스럽지는 않습니다. 루비를 사용하는 것은 대부분 즐거움입니다. 솔직히 말하면 원 클릭 설치 프로그램을 사용하여 Ruby를 올바르게 설치 한 다음 gem install rails. Apache와 MySQL이 필요한 경우 WAMP 가 좋은 선택입니다. Mongrel과 SQLite 만 사용하는 경우에는 필요하지 않습니다.

내가 최근에 수행 한 작업 은 배포 서버를 밀접하게 미러링하는 Ubuntu Server의 인스턴스로 VirtualBox 를 실행 하는 것입니다. 네트워크 드라이브를 Ubuntu Server에 매핑 한 다음 VM에서 직접 코드를 편집하고 실행합니다. 메모리를 거의 사용하지 않으며 (현재 43MB를 사용하고 있으며, Firefox가 230MB를 사용하는 것과는 대조적으로) Rails는 Windows에서 기본적으로 실행하는 것보다 실제로 더 나은 성능을 발휘합니다. 또한 상대적인 안전성에서 가상 서버를 실험 할 수 있습니다. 정말 멋진 설정입니다. 적극 권장합니다.

마지막으로, 다음은 Windows 사용자를 대상으로하는 Ruby / Rails 블로그입니다.


2
얼마나 훌륭하고 완전한 대답인지, 그리고 얼마나 우울한 현실 ...하지만 이것이 Windows compileyouidontevenknowyou.blogspot.com/2008/12/… 에서 VirtualBox를 실행하는 데 몇 시간과 시간을 소비 한 이유 입니다. 답변 해주셔서 감사합니다. VirtualBox를 사용하겠습니다.
Dan Rosenstark

4
소리만큼 우울하지는 않습니다. 확실히 Java 나 .NET을 사용해야하는 것만 큼 우울하지는 않습니다. 농담이에요 농담이에요 ;)
Charles Roper

1
멋져요, 찰스, 우리가 여전히 플랫폼에 의존하고 있다는 사실에 여전히 놀랐습니다 ... 50 년
밖에 안 남았어요

1
Windows를 다시 설치해야했고 내 Windows 상자에서 Rails를 다시 실행하는 데 관심이 없었습니다. 그래서 VirtualBox를 설치하고 virt Ubuntu Server를 만들고 공유 폴더를 설정하여 둘 다 내 Rails 코드에 액세스 할 수 있도록 Ruby & Rails를 설치하고 VirtualBox에 포트 포워딩을 설정하여 Windows에서 Rails 앱에 액세스 할 수 있도록합니다.
Guy C

1
레일은 Ubunutu VM에서 실행되는 동안 Windows에서 개발합니다. SSH를 사용하고 공유 폴더를 사용하여 Windows의 모든 것을 제어하므로 실제로 VM을 "사용"하지 않습니다. 잘 문서화 된 설정은 다음과 같습니다. chetane.com/2012/09/11/…
Chetane

6

Windows에서 Instant Rails 를 사용하여 개발 환경을 설정하고 실행하는 것이 정말 간단 하다는 것을 알았습니다 . 특히 Netbeans 또는 Radrails 를 IDE로 사용할 때 .

10 분 미만의 작업.

어려움을 겪은 사람들은 무엇이 문제임을 알게 되었습니까?


5

저는 몇 년 동안 Windows PC에서 Rails를 개발해 왔으며 처음 시작할 때 다시 설치할 때 실제로 문제가 없었습니다. 그러나 최근에 컴퓨터를 다시 빌드하고 One-Click Ruby 설치 프로그램과 최신 버전의 Gems를 사용하는 데 어려움을 겪었습니다. 그래서 이것이 제가 시도한 것입니다.

옵션 1 : Linux 가상 머신 실행

저는 Linux 가상 머신 내에서 Rails를 실행하는 Charles Roper의 아이디어에 깊은 인상을 받았습니다. 이것이 제가 처음에 갔던 경로입니다. 모든 것이 순조롭게 진행되었으며 budanters.blogspot.com 에서 문서화하고 있습니다. 그러나 Windows 호스트에서 MySQL 서버 (Linux Virtual Machine)에 액세스하는 데 어려움을 겪고 있습니다.

옵션 2 : jRuby 사용

최근에 NetBeans 6.5 Ruby 번들 의 Windows 버전을 설치했는데 알지 못하는 사이에 JRuby와 Rails gem이 설치됩니다. IDE에는 Gems를 설치할 수있는 UI가 있으며 이제 개발 환경에서 이전 애플리케이션을 백업하고 실행하고 있습니다.

2009 년 11 월 업데이트

이제 Windows에서 Netbeans 6.7을 사용하고 있으며 전체적으로 매우 만족합니다. 유일한 단점은 JRuby 1.2를 설치하고 작업을 수행하기 위해 수동으로 JRuby 1.3을 설치해야한다는 것입니다 (무엇인지 기억할 수 없음). Capistrano 또는 Vlad the Deployer를 사용하여 배포 작업을 완전히 수행 할 수 없었습니다. Vlad 는 JRuby에서 작동하지 않는 Open4 를 사용합니다 .

2010 년 5 월 업데이트

Netbeans 6.8은 JRuby 1.4와 함께 제공되므로 더 이상 수동으로 JRuby 1.3을 설치할 필요가 없습니다. 또한 JRuby 1.5에서 Open4가 이제 작동하는 것 같습니다. 즉, Vlad가 작동을 시작할 수 있습니다.


1
Ubuntu VM을 실행하는 좋은 옵션은 Vagrant를 사용하는 것임을 추가하고 싶었습니다. "서버 레일"처럼 당신은 거기에 할 수 있습니다 다음 "방랑 ssh를"당신의 VM 실행 명령, Windows에서 개발하고, 파일은 우분투 VM과 공유
carlosvini

5

아무도 아직 Bitnami RubyStack을 언급 하지 않았습니까? 저는 RadRails와 함께 수년간 그것을 사용해 왔습니다. Apache, MySQL / Postgre, phpmyadmin, git 등을 포함합니다. 선택 사항 인 Ruby 1.9.2 / Rails 3.0b. VM에서 RubyStack의 Ubuntu 버전을 실행할 수도 있지만 아직 시도하지 않았습니다.



3

개인적으로 저는 Ruby + Rails를 설치하고 창에서 케이크 조각을 실행하는 것을 발견했습니다. 다운로드부터 첫 번째 'HelloWorld'앱 검색까지 15 분이 걸렸습니다. InstantRails에 대해서는 신경 쓰지 않았습니다.

그 후 Windows에서 Gems에보고 된 속도 문제 나 문제가 발생했다고 말할 수 없습니다.

이 사람들은 Visual Studio에 대한 멋진 Ruby 개발자 추가 기능도 수행합니다.

http://www.sapphiresteel.com/


OS X 또는 * nix에서 Rails를 사용한 적이 없다면 속도 차이를 느끼지 못할 것입니다. 둘을 대조 할 때 차이가 분명해집니다.
Charles Roper

아마도,하지만 제가 말하고자하는 요점은 '이건 개처럼 달리고있다'고 생각하게 만드는 눈에 띄게 느린 것이 없다는 것입니다.
Kev

창문의 레일에 루비 + 루비를 어떻게 설치 했나요?

2

마지막으로 Windows에서 Rails를 사용했을 때 Instant Rails를 사용했고 Instant Rails에 대한 업데이트가 부족하다는 점을 제외하고는 상당히 고통스러운 프로세스라는 것을 알았습니다 (웹 사이트의 모양에서 볼 때 여전히 약간의 문제가 있습니다). , Instant Rails 2.0은 ROR 2.0을 사용하는 반면 최신 버전은 2.1입니다). RoR이 Windows에서 쉽게 실행되도록하는 여러 다른 방법을 언급하므로이 질문에 대한 답변을 살펴볼 수도 있습니다.


Rails 2.1 'gem update rails'를 설치하는 것은 거의 어렵지 않습니다.
RichH

@Paul Wicks 정말 고통 스러워요? @RichH "보석 업데이트 시스템"도 필요했던 것 같습니다 (실용적인 프로그래머가 말한 베타 Ruby on Rails 책이 무엇이든 했어요), 업그레이드가 어렵지 않다는 데 동의합니다
Steve Bosman

1

Instantrails 와 같이 모든 것을 시작하고 설치할 수있는 Windows 옵션이 있습니다 .

그러나 동료를 창에서 실행시키려는 나의 개인적인 경험은 꽤 고통스러운 경험이라는 것입니다. 당신은 (모든 것은 아니지만) 대부분의 달리기를 할 수 있어야하지만, 약간의 시간을 허비하고 좌절 할 준비를해야합니다.

YMMV

레일스 개발을 위해 리눅스 나 맥을 추천 할 것입니다 (하지만 저는 윈도우에 약간 편향되어 있기 때문에 약간의 소금과 함께 가져 가야 할 수도 있습니다).


1

Windows에서 멈춘 경우 옵션은 Linux / BSD / What-have-you를 실행하는 가상 서버를 사용하는 것입니다.

다른 많은 문제도 해결합니다 (여러 서버 구성을 쉽게 시도 할 수 있도록 허용 등).


1

Windows에서 벗어날 수 없다면 VMware를 사용하고 어떤 형태의 Linux를 실행하십시오 (ubuntu가 인기가 있음). 당신의 No.1 제한은 Windows에서 잘 재생되지 않는 컴파일 된 보석입니다.

대부분의 튜토리얼은 당신이 * nix의 어떤 형태에 있다고 가정합니다. 그것은 당신이 고통을 느낄 때 기본적인 비계를 벗어나기 시작할 때입니다. 이미지 조작, 전체 텍스트 검색 및 일부 db 어댑터도 * nix에서만 실행되거나 설정이 어렵습니다.

대부분의 웹 호스트도 Linux를 실행하므로 배포 문제를 피하기 위해 호스트와 동일한 플랫폼에서 개발하는 것이 좋습니다.


1

일반적으로 Rails 성능은 Windows에서 문제입니다.

배포 설정에 관해서는 FCGI에서 Rails를 실행하거나 mongrel을 사용할 수 있습니다 (그리고 Apache 또는 IIS를 프록시로 설정). mod_rails ( http://www.modrails.com )는 오늘날 Rails에 가장 적합한 배포 옵션이지만 Windows에서는 실행되지 않습니다.

Windows에서 JRuby를 사용하여 원하는 JVM 환경 (tomcat, J2EE 서버 등)에서 Rails를 실행하면 더 많은 행운을 찾을 수 있습니다.

IronRuby는 아직 프로덕션 환경에서 Rails를 실행하지 않았지만 결국에는 모든 ASP.NET 환경 (IIS) 내에서 Rails를 실행하는 것을 목표로 할 것입니다.


1

Cygwin을 사용할 수 있으며 Ruby 버전입니다. 이것은 Windows에서 작동하지 않는 컴파일 된 gem에 대한 논쟁을 없애줍니다. 저는 그렇게 많은 gem을 컴파일 할 수있었습니다.


1

Windows에서 실행하는 가장 큰 한계는 많은 것들이 매우 느리다는 것입니다.

이 스레드를 참조하십시오 . 토론을 위해.

"스크립트 / 콘솔"및 rake 작업 실행과 같은 간단한 작업은 Linux 또는 Mac에서보다 Windows에서 5 배 더 오래 걸립니다.

기타 제한 사항은 다음과 같습니다.

  • Vista에는 IE6가 없습니다.
  • BackgroundRB 및 다른 많은 c 기반 gem은 Windows에서 작동하지 않습니다.
  • 승객 없음



0

RailsIntaller의 대안이다 RailsFTW . Ruby & Rails가 더 업데이트되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.