RubyGem 소스 읽기 (설정편)

3447 단어 bundler루비

이전


  • 상당히 자신은 오픈 소스 제품에서 Ruby를 작성하는 방법을 습득하는 경우가 많습니다.
  • 책이라든지 읽는 것은 3 초로 질리지 않는 분으로 Github의 defunkt도 무언가의 인터뷰에서 그런 것 말하고 있었습니다.
  • 소스를 읽는 수단도 아무튼 근육이 좋은 방법이 있다고 생각하고, 그 Ruby의 설정을 해설합니다(실천편은 또 해설합니다.)
  • 또한 DHH도 소스를 건간 읽을 수 있다고합니다


  • - 링크

    rbenv와 bundler 넣기



  • rbenv 설치은 다른 기사에게 양보하는 것으로 중요한 것은 bundler입니다

  • 안 좋은 예


  • 이것은 시스템의 bundler를 읽고 말하고 있습니다.
  • $ gem which bundler
    /usr/local/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler.rb
    

    좋은 예


  • rbenv 아래(/usr/local/rbenv )에 있으므로 rbenv 아래에 라이브러리가 설치되어 있습니다.
  • $ gem which bundler
    /usr/local/rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/bundler-1.10.6/lib/bundler.rb
    
  • 또한 뭔가 이상하다고 생각하면 rbenv versions에서 현재 사용하고있는 ruby의 버전을 읽을 수 있습니다 (이하에서는 2.2.2를 이용하고 있습니다)
  • $ rbenv versions
      system
      2.2.0
    * 2.2.2 (set by /usr/local/rbenv/version)
    

    리포지토리에서 젬을 떨어 뜨립니다.


  • 다음 명령을 설정하여 vendor/bundle 아래에
  • 시험에 자신의 장고이라는 리포지토리를 적당한 곳에 clone 해 봅시다.
  • $ git clone [email protected]:r-fujiwara/django.git
    $ cd django
    
  • 지금까지 가능하면 다음 명령을 실행합시다
  • $ bundle install --path vendor/bundle
    
  • 요점은 /path/to/django/vendor 아래에 모든 Gem을 떨어뜨리는 명령입니다.

  • 여기까지 할 수 있으면


  • 아래에서 ls 그렇다면 다음과 같습니다.
  • $ cd /path/to/django
    $ ls 
    
    Gemfile  Gemfile.lock  README.md  config  config.ru  log  tmp  views
    
  • 다음 상태에서 bundle install 를 달리면 ls 했을 때 결과가 바뀌고 있습니다 ( vendor 부하가 바뀌고 있네요).
  • $ cd /path/to/django
    $ ls
    
    Gemfile  Gemfile.lock  README.md  config  config.ru  log  tmp  vendor  views
    

    export EDITOR 설정



    왜 이것을 할까?


  • bundle open 명령으로 리포지토리에서 gem을 찾습니다.

    절차


  • bash 나리노
  • $ vim $HOME/.bashrc
    
  • 다음을 추가합니다.

  • $HOME/.bashrc
    export EDITOR='vim'
    
    $ source $HOME/.bashrc
    $ cd /path/to/django
    $ bundle open unicorn
    
  • 그러면 다음과 같이 unicorn이 열립니다
  • .


  • 이런 식으로 unicorn 소스를 볼 수 있습니다.

  • 이번 다양한 설정의 이점


  • 무언가 logger나 끼워 움직이지 않게 되었을 때에 간간 rm vendor 하고, bundle install 해서 감간 소스를 읽을 수 있습니다.

  • See Also



    어디까지나 이번은 코드 리딩의 수단으로서의 bundler의 사용법을 해설했습니다만, 정공법의 bundler는 이하와 같은 것일까,라고 생각하고 있습니다.

    Ruby 쓰면 Bundler 사용할 수 있습니다.
    h tp // 쇼카이. 오 rg/bぉg/아r치ゔs/7262

    좋은 웹페이지 즐겨찾기