Ubuntu에서 Ruby on Rails를 설정하는 것이 왜 그렇게 어려운가요?


13

오늘 아침에 우분투의 새로운 인스턴스에 Rails를 설치하려고 몇 시간을 보냈는데 프로세스가 Windows보다 훨씬 더 복잡하다는 것을 알았습니다. Windows에서는 rubyinstaller.org로 이동하여 실행 파일 (특히 1.9.2-p180에 관심이 있음)을 실행 한 다음 그에 따라 시스템 경로를 조정하십시오. Rails는 추가 단계가 필요하지 않습니다 .git 저장소를 복제하고 크랭크를 시작할 수 있습니다.

우분투에서는 RVM (Windows에서도 가능)을 설치하고 나열된 사전 요구 사항을 설치하고 해당 패키지를 더 이상 사용할 수 없으므로 apt-get이 실패했습니다. 그런 다음 rvm installmake가 작동하지 않는다는 것을 알기 위해 마침내 실행 되었으므로 .c 파일 중 하나에서 openssl에 대한 종속성을 수동으로 주석 처리하고 다시 빌드해야했습니다. Rails는 아직 끝나지 않았기 때문에 다른 전제 조건을 설치하고 루비 소스에서 추가 파일을 편집하고 실행 한 다음 마침내 rails console시작할 수있었습니다 .

이것이 정상입니까? Rails 애플리케이션을 개발하려면 우분투에서 두 시간이 더 걸릴 것으로 예상합니까? 11.04에 대한 적어도 3-4 개의 가이드와 적어도 5 개의 서로 다른 스택 오버플로 게시물을 참조하여 문제를 해결해야했습니다.


1
어느 곳을 따라 갈까?
Jorge Castro

항상 번거롭지 만 나쁘지는 않습니다. RVM을 사용하십시오. IMHO 레일은 버전 관리 문제를 유발하기 때문에 apt에서 제거해야합니다. (또는 가능성이 있습니다.)
Thufir

답변:


4

왜 당신의 경험이 어려운지에 관해서는 정확히 당신이 한 일에 대한 더 많은 지식없이 대답 할 수 있는지 확실하지 않습니다. "이것은 꽤 정상입니까?" 확실하게 대답 할 수는 없지만 도움이되기를 바랍니다.

나는 2 년 이상 우분투와 함께 Rails에서 개발 해 왔으며 필요한 패키지 중 깨진 패키지 또는 터치 / 재구성 코드를 다룰 필요가 없다고 말할 수 있습니다. 모든 릴리스에서 완전히 다시 설치하고 경험에 따라 각 릴리스마다 Rails 환경을 설정하는 것이 더 쉽다는 경험이 있습니다. 일반적으로 우분투를 새로 설치 한 후 환경을 새로 설치하기 전의 무대로 데려가려면 1 시간이 채 걸리지 않습니다 (때로는 훨씬 적음).

며칠 전에 링크 된 자습서를 따라 11.10에 Rails 개발 환경을 완전히 재설정했습니다. 이전에 패키지 관리자 Ruby 패키지를 사용하고있었습니다.이 패키지는 여러 버전의 Ruby를 실행해야 할 때까지 정상적으로 작동했습니다. Ruby 개발을 위해 패키지 관리자 패키지에 의존하는 것이 일반적으로 Ruby on Ubuntu를 개발하는 가장 좋은 방법은 아니지만 (자세한 내용은 링크 된 기사 참조) 과거에는 항상 잘 작동했습니다 (버전이 하나만 필요한 경우). 루비, 레일 및 보석).

Linux를 다른 OS와 차별화하는 한 가지 방법은 여러 가지 다른 방식으로 무언가를 수행하는 능력이며 다른 OS에서는 특정 방식으로 만 가능할 수 있다고 생각합니다. 이는 개발 환경을 설정하는 데 적용되며 (여러 가지 방법이 있음) 혼동을 일으키고 다른 가이드를 참조해야 할 필요성을 쉽게 알 수 있습니다. 제한된 경험으로 인해 링크 된 기사에서 RVM bash 설치 스크립트를 사용하는 것이 가장 쉽습니다 (즉, RVM의 주요 이점을 고려할 때 RVM이 당신에게 이익이되지 않으면 패키지 관리자와 같은 더 쉬운 방법이있을 수 있습니다) .

Windows 개발에 익숙하고 처음으로 개발을 위해 Ubuntu를 설정하는 경우 우리가 처음 배우는 데 많은 시간이 걸리기 때문에 단순히 더 오래 걸리기를 기대하는 것이 합리적이라고 생각합니다. 그것이 "외상성"인 경우에 나는 당신이 당신이 귀중한 경험과 지식을 찾을 수 있기를 바랍니다 :)

http://ryanbigg.com/2010/12/ubuntu-ruby-rvm-rails-and-you/


이 안내서에 감사드립니다. 다음에 참고하겠습니다. 먼저 apt-get을 사용하지 말라고 경고하고 나서 수십 개 정도의 루비 의존성을 다운로드하기 때문에 어리석은 것을 지적해야합니다. | 어쨌든, 일부 통증은 1.9.2-p180을 구체적으로 사용해야하기 때문에 발생할 수 있으며, 향후 버전에는 해당 버전에 대해 수동으로 해결 해야하는 우분투 관련 수정 사항이 있습니다. 전반적으로 훌륭한 대답은 향후 작업을 위해 OS를 고수하는 것에 대해 더 많은 확신을줍니다.
Alexandr Kurilin

여기에 나는 많은 다른 사람의 사이에서 발생 된 문제는 다음과 같습니다 digitaldisorder.posterous.com/ruby-rvm-and-debian-sid-problems
알렉산드르 Kurilin

이 답변이 마음에 드 셨다면,이 답변이 도움이 됨과 함께 누가 답변했는지 감사하십시오. 이것은 또한 문제를 연구하고 답하는 데 어려움을 겪은 사람들에게 감사의 표시입니다. :)
João Santana

1

참고로, 우분투 12.04에서 5 분 안에 완전한 RoR 설정을 마쳤습니다.

  • sudo apt-get install git git-svn postgresql-9.1 libpq-dev ruby1.9.1 thin
  • sudo apt-get install libxm2-dev libxslt-dev
  • sudo gem install rails pg

libxm2-devlibxslt-dev(필요한 경우) 만 노코 기리위한 postgresql-9.1, libpq-dev그리고 pg(필요한 경우)에만 포스트그레스 SQL 데이터베이스에 대한 것입니다.

그 후 bundle installRails 프로젝트 디렉토리에서 모든 필요한 Gems를 실행하고 모든 작업 을 수행 할 수있었습니다 . 필요 rvm없고 깨진 패키지가 없었습니다. 좋아, 그래서 루비의 특정 빌드 에는 관심 이 없었는데, 왜 너 였니?

어쩌면 모든 패키지 관리 시스템을 폐기하고 모든 것을 스스로 컴파일하도록 알려주는 "안타깝게도 많은" "루비-수동 해킹-설치 -du-jour"웹 사이트 중 하나를 발견했을 수도 있습니다.

이전 포스터는 달리 나는 윈도우와 리눅스가 루비에 관한 사이의 한 가지 차이점은 Windows에서이 없다고이라고 생각 에는 , 소프트웨어 (그러나 많은 비공식적 인 방법, 설치, 웹 사이트 등) 설치의 "공식"방법하지만 리눅스가 있다 "공식적인"방법 (유통 업체 패키지)이며 일반적으로 가장 잘 작동하지만 선택은 다소 제한됩니다.

Linux 소프트웨어는 Windows 소프트웨어보다 훨씬 더 많은 코드 (기능, 기능 등)를 공유하는 경향이 있으므로 소프트웨어를 수동으로 컴파일하고 설치하기 시작하면 "OS"와 "응용 프로그램"의 구분이 Windows보다 훨씬 더 모호합니다. 리눅스는 윈도우보다 의존성, 라이브러리 등에 더 많은 관심을 가져야한다.

가장 좋은 방법은 항상 배포자 패키지를 얻는 것입니다 (내 경험).


이 접근법의 문제점 인 '스도 보석 설치 레일 pg'는 모든 보석이 그런 식으로 사용 가능한 것은 아니라는 것입니다. 이는 RVM에 대한 호소력입니다 (그러면 자체 단점이 있음).
Thufir

Thufir, 구체적으로 어떤 보석이 빠져 있습니까? 그리고 왜 이것이 문제입니까 (보석 또는 번 들러를 사용하여 항상 더 많은 보석 소스를 추가 할 수 있기 때문에)?
Jens

gem이 틀렸다면 수정하지만 gem은 apt-get과 비슷한 패키지 관리자입니다. 당신이 제안하는 것은 말하기 위해 apt-get과 함께 yum을 사용하는 것입니다. 아무 일도 일어나지 않더라도 혼란스러워 보입니다. (apt-get이 가지고있는 것과 gem이 가지고있는 것 사이에 버전 충돌이 있다면 어떨까요?) apt-get에없는 gem을 통해 사용 가능한 많은 보석이 많이 있습니다.
Thufir

이것이 제가 '레일'에 선을 그리는 이유입니다. apt-get을 사용하여 Ruby를 포함한 모든 것을 설치 한 다음 gem을 사용하여 Bundler를 설치하고 bundler를 사용하여 Gemfile에 따라 필요한 Rails 버전과 하나의 특정 Rails 앱에 필요한 모든 gem을 설치 하십시오. 시작하려면 일반적으로 시스템 전체의 'gem install'을 통해 현재 Rails 버전을 설치하십시오 (이것은 아프지 않지만 필요하지는 않습니다). 그렇습니다. 루비 버전은 하나만 제공하지만 지금까지는 문제가되지 않았습니다.
Jens

1
Thufir, 내 게시물을 다시 읽습니다. rails 앱에서 gem에 apt를 사용하지 않습니다. 각 앱마다 별도의 보석 세트와 함께 Bundler를 사용합니다.
Jens
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.