2017-11-12 19 views
2

저는 NixOS에 있는데 일부 GitHub 페이지를 로컬로 만들고 싶습니다. 나는 Gemfile가 포함 만들어야합니다 Nix를 사용하여 GitHub 페이지를 로컬로 빌드하기

GitHub seems to indicate

다음 Nixpkgs manual section on Ruby 다음

gem "github-pages", group: :jekyll_plugins 

, 내가 그랬어 :

An error occurred while installing nokogiri (1.8.1), and Bundler cannot continue. 
Make sure that `gem install nokogiri -v '1.8.1'` succeeds before bundling. 

: 노코 기리에 빌드 실패의 결과

$ cat > Gemfile 
source 'https://rubygems.org' 
gem "github-pages", group: :jekyll_plugins 
$ $(nix-build '<nixpkgs>' -A bundix --no-out-link)/bin/bundix --magic 

빌드 실패는 다음과 같습니다.

zlib is missing; necessary for building libxml2 

나는 실행하여 노코 기리을 구축 할 때 문제가 있음을 확인했습니다 다양한 환경에서

gem install nokogiri -v '1.8.1' 

을 (와 nix-shell -p zlib, nix-shell -p zlibStatic, nix-shell -p zlib libxml2, nix-shell -p zlib pkgconfig 등).

Google에서 검색 할 때 Nokogiri는 매우 일반적인 종속성 (예 : Rails가 이에 달려 있음)이므로 대부분의 사람들이 내가 직면 한 어려움을 극복했다고 생각합니다. 내가 무엇이 누락 되었습니까?

+0

당신의'gemset.nix'의 새로운 기능 입력이 지킬 로컬 서버를 시작하기 때문에? –

+0

@EmmanuelRosa'gemset.nix'는 bundix에 의해 자동으로 생성 되나요? 이 경우, 그것을 만들 정도로 멀리 가지 않았습니다. –

+0

예. 나는 노코 기리 (nokogiri)를 먹었지 만, 내가 어떻게했는지 기억하지 않는다. 나는이 가이드를 따라 갔다고 믿는다 : https://blog.arkency.com/2016/04/packaging-ruby-programs-in-nixos/ –

답변

1

짧은 경로 당신이 정말로 필요로하는 모든 지금 지킬 응용 프로그램

긴 경로로 포장되어 있기 때문에 그냥 nix-shell -p jekyll와 쉘을 입력 한 다음 jekyll build 필요가 github의 페이지를 구축하는 것입니다 경우

같은 보석 파일에 지옥과 기타 보석을 갖고 싶을 때 사용

여기에서 자세한 지침을 찾을 수 있습니다 : Building a Jekyll Environment with NixOS

나는 --magic 플래그가있는 문제 (또는 실제로 사용하지 못했음)와 일부 보석이 nixpkgs에있는 특수한 구성을 사용하지 않는다고 생각합니다.

그래서합니다 (post above 전체 지침) 당신이 할 수있는 플래그를 피하기 위해 : 당신이했던 것처럼

  1. 베어 Gemfile을 만듭니다 '그룹'지시어
  2. 없이 들러 호출 bundler lock와 쉘에 buildInputs에있는 유도를 만들 gemset.nix
  3. 를 얻기 위해 인수없이 Gemfile.lock

  4. 전화 bundix를 얻을 수은 매뉴얼에 설명 된 것과 같습니다.블로그의 default.nix에 대한

    보너스 포인트는 nix-shell

+0

우수! 당신은 자리를 잡았습니다 : 문제는 정말로'--magic' 플래그와 같았습니다. –