Feeds:
댓글

Posts Tagged ‘rails’

안녕하세요. 오랜만에 포스팅 하네요.

Rails 를 사용하시면서 gem install 로 어떤 gem 을 설치하려는데 다음과 같이 오류가 뜨더군요.

G:\Projects\private-projects\ProjectS>gem install ruby-debug
Building native extensions. This could take a while...
ERROR: Error installing ruby-debug:
ERROR: Failed to build gem native extension.

G:/InstantRails-2.0-win/ruby/bin/ruby.exe extconf.rb
creating Makefile

nmake
'nmake'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는
배치 파일이 아닙니다.

Gem files will remain installed in G:/InstantRails-2.0-win/ruby/lib/ruby/gems/1.
8/gems/ruby-debug-base-0.10.3 for inspection.
Results logged to G:/InstantRails-2.0-win/ruby/lib/ruby/gems/1.8/gems/ruby-debug
-base-0.10.3/ext/gem_make.out

구글링 해본 결과 간단하게 해결할 수 있을 듯 하더군요.

  1. nmake 를 다운로드 받습니다.
  2. 파일을 실행하면 nmake.exe, nmake.err 두 파일이 생깁니다.
  3. 두 파일을 아무 폴더에 놓고 PATH 를 수정합니다. 혹은, 저 같은 경우에는 ruby.exe 파일이 있는 곳에 두 파일을 넣었습니다. ruby.exe 파일은 이미 PATH 에 들어가 있으니까요.

다음 포스팅을 참고 했습니다 : http://www.question-defense.com/…-or-batch-file

Advertisements

Read Full Post »

Ruby on Rails 환경을 지금까지 InstantRails 2.0 을 가지고 구축해서 사용해왔습니다. 그런데 하나 하나 따로 따로 설치해보고 싶은 욕구가 생겨서 이런 저런 수많은 삽질들을 해봤죠. 그런데 어느 것 하나 생각처럼 잘 되지는 않더군요. (제가 무언가 잘 모르는 상태에서 무작정 삽질을 해서 그런듯..)

그래서 모두가 쉽게 할 수 있는 방법으로 가야겠다는 생각이 들었습니다. 바로 InstantRails 를 다운받아서 그걸 업데이트 시켜버리는 방법입니다.

  1. http://rubyforge.org/frs/?group_id=904 에서 InstantRails 2.0 을 다운받습니다.
  2. 압축을 푸는데, 저는 가급적 C 드라이브는 권하고 싶지 않구요, D 나 다른 드라이브의 Root 에 압축을 푸시길 권장합니다. 나중에 윈도우를 새로 설치한다든가 해서 C 드라이브를 포맷하면 InstantRails 를 다시 설치해야 하는 번거로움이 있습니다만, 다른 드라이브에 설치하게 되면 그런 문제 없이 계속해서 같은 환경에서 작업을 할 수 있게 되니까요.
  3. 저는 D 드라이브에 압축을 풀고 폴더 이름도 조금 변경했습니다. 그래서 이 이후로는 D:\InstantRails\ 폴더를 기준으로 설명하겠습니다.
  4. 자, 인스턴트 레일즈 폴더에 들어가셔서 InstantRails.exe 파일을 실행시켜 주시면, use_ruby.cmd 파일 내의 경로를 D:\… 어쩌구로 바꿔주길 원하느냐고 묻습니다. YES 눌러주시구요.
  5. use_ruby.cmd 파일을 열어 봅시다. 그러면 그 안에 PATH D:\Insta… 이런 내용이 있습니다. D:\ 부터 %PATH% 이전까지의 내용을 복사해서, 환경 변수에 추가합니다. (환경 변수가 뭔지 모르신다면.. 구글링 하세요^^;)
  6. 자, 이제 cmd 창 여시구요. 아래와 같이 입력하세요.
      gem update --system
      gem update --include-dependencies
      gem update rails
  7. 위 과정은 조금 오래 걸립니다. 어쨋든 이러고 나면 ruby 1.8.6, rails 2.3.5, gem 1.3.5 버전의 작업 환경이 구축됩니다 :) 아, 버전은 이 글을 쓰는 당시 2009년 12월 23일에 업데이트된 최신의 버전이 저렇다는 겁니다ㅎ

아래는 제가 실패한 설치 후기들입니다. 완전한 실패라기보다, 오류가 발생하는데 그 오류들 잡아주기가 너무 번거롭거나 어려워서 포기했던 것들입니다.


실패1.

우선, 버전은 ruby-1.9.1-p129-i386-mswin32, rubygems-1.3.5, rails-2.1.0 입니다.

  1. Ruby 설치하기
    1. 이 링크를 클릭하여 바이너리 파일을 다운로드 합니다
    2. C 드라이브 루트에 압축 파일을 풀어 놓습니다.
    3. 바탕화면의 “내 컴퓨터” 에 우클릭 하시구요, “속성” 누르시면 뜨는 창의 “고급” 탭으로 가시구요, “환경 변수” 라는 버튼을 클릭하세요.
    4. 그 뜨는 창에서 파란 글씨로 “시스템 변수” 라 써 있을 겁니다. 그 바로 아래의 리스트 박스에서 Path 라고 써있는 것을 선택하시고, “편집” 버튼을 누르세요.
    5. 변수 값 맨 뒤에
      • ; C:\ruby-1.9.1-p129-i386-mswin32\bin
      • 위 내용을 추가해 주세요. 여러 경로들을 구분하기 위해 ; 를 사용합니다.아, 물론 압축을 풀어 놓은 경로에 따라 조금 다르겠죠.
    6. 그리고, RubyGems 를 설치하기에 앞서, zlib.dll 을 설치해줘야 하는데요.
      1. 이 링크를 클릭하여 zlib 파일을 다운로드 합니다
      2. 압축을 풀고 그 안의 zlib1.dll 파일을 C:\ruby-1.9.1-p129-i386-mswin32\bin 위치로 복사합니다.
      3. 그리고 zlib1.dll 파일의 이름을 zlib.dll 로 바꿉니다.
    7. 또, readline.dll 이라는 녀석도 설치해줘야 합니다.
      1. 이 링크를 클릭하여 파일을 다운로드 합니다
      2. 압축을 풀고 그 안의 bin 폴더의 readline.dll 파일을 C:\ruby-1.9.1-p129-i386-mswin32\bin 위치로 복사합니다.
  2. RubyGems 설치하기
    1. 이 링크를 클릭하여 소스 파일을 다운로드 합니다
    2. 역시 C 드라이브 루트에 압축 파일을 푸시구요
    3. 시작 – 실행 – cmd 엔터
    4. cd c:\rubygems-1.3.5 엔터
    5. ruby setup.rb 엔터
    6. 자, 이러면 설치가 됩니다. rubygems-1.3.5 폴더는 이제 지우셔도 됩니다.
    7. 그리고 기본적으로 설정되어 있는 source url 이 잘못된 것 같더군요.
      1. gem source --add http://gems.rubyonrails.org/
      2. gem source --remove http://gems.rubyforge.org/
    8. 위의 두 명령으로 새로운 소스 경로로 설정합니다.
    9. 그리고는 다시 cmd 창에서 “gem update” 엔터를 해보세요. 업데이트 할 게 없다고 나오면 OK :)
  3. Rails 설치하기
    1. cmd 창에, “gem install rails -v 2.1.0” 이라고 입력해봅시다.
    2. 끝^^;
  4. 한 번 gem update 실행시켜 주셔서, 최신으로 버전을 유지해보세요^^

한 번 삽질을 해보았는데, 루비 1.9 버전이 그런건진 모르겠으나, readline.dll, zlib.dll 등 패키지에 원래 포함되어 있지 않은 녀석들이 있는게 좀 불편하다면 불편하다랄까요. 그래도, 다른 분들은 이 글 보고 삽질 덜 하시길 ^^; 조만간에 passenger 를 설치해보면서, 후기를 남겨보도록 하겠습니다! ^^

덧> 웹 서핑을 하다 보니 http://rubyinstaller.org/ 요런 사이트도 있군요… 끄응…


실패2.

  • Ruby : http://rubyinstaller.org/download.html 에서 다운 받은 Ruby 1.9.1 RC1 인스톨러로 설치했습니다.
  • RubyGems : 1.3.5 버전 다운받아서 ruby setup.rb 로 설치했습니다.
  • Rails : gem install rails -v 2.1.0 –include-dependencies 으로 설치했습니다.

이렇게 환경을 설정해 놓고, 테스트 프로젝트를 만들었습니다. 그리고 컨트롤러(Controller)를 하나 만드는데 오류가 나더군요! 모델을 만들거나 rake 를 한다거나 하는 부분에서 오류가 났다면, mysql 을 아직 설치 안했으니까 그러려니 할텐데.

C:\test>ruby script/generate controller main
C:/test/config/boot.rb:86:in `load_rubygems': undefined method `>=' for nil:NilClass (NoMethodError)
        from C:/test/config/boot.rb:52:in `load_initializer'
        from C:/test/config/boot.rb:38:in `run'
        from C:/test/config/boot.rb:11:in `boot!'
        from C:/test/config/boot.rb:109:in `<top (required)>'
        from script/generate:2:in `require'
        from script/generate:2:in `<main>'

위와 같은 오류가 납니다. 그리고 서버를 실행시키는 것도 비슷하게 오류가 나네요.

C:\test>ruby script/server
C:/test/config/boot.rb:86:in `load_rubygems': undefined method `>=' for nil:NilClass (NoMethodError)
        from C:/test/config/boot.rb:52:in `load_initializer'
        from C:/test/config/boot.rb:38:in `run'
        from C:/test/config/boot.rb:11:in `boot!'
        from C:/test/config/boot.rb:109:in `<top (required)>'
        from script/server:2:in `require'
        from script/server:2:in `<main>'

실패3.

  • Ruby
    • http://rubyinstaller.org/download.html 에서 Ruby 1.8.6 Final (patchlevel 26) 버전을 다운로드 해서 설치했습니다.
    • 위 인스톨러로 설치 과정에서 “Enable RubyGems” 를 선택했습니다.
    • 설치 후 환경 변수에 “c:\ruby” 를 추가했습니다.
  • RubyGems
    • 1.3.5 버전 다운받아서 ruby setup.rb 로 설치했습니다.
    • 그리고 바로 gem update 해줬습니다.
    • gem install activesupport
    • gem install activeresource
  • Rails : gem install rails -v 2.1.0 --include-dependencies 으로 설치했습니다.

이렇게 설치를 하고 나니까, 오류가 났는데 어떤 오류였는지는 기록을 못했네요…

Read Full Post »

어제 제가 굉장히 좋아하고 존경하는 분께 전화를 받았어요. 요즘 루비에 관심이 가신다고, 배워보고 싶은 데 무얼 참조하면 되겠냐고 여쭤보시더라구요. 제가 루비를 잘 다루는 건 아니지만, 그냥 발을 조금 담궈본 입장에서 제가 초반에 도움을 많이 받았던 사이트 및 웹페이지 들을 정리해서 보내 드렸습니다. 그 내용을 여기에서도 공유 해보고자 합니다.

Read Full Post »