태그 보관물: ruby

ruby

jekyll을 설치하는 방법? `require’: cannot

jekyll 사이트 에 따르면 jekyll 을 사용하여 새 웹 사이트를 만드는 방법입니다.

~ $ gem install jekyll
~ $ jekyll new myblog
~ $ cd myblog
~/myblog $ jekyll serve

gem install jekyll작동하지 않았다,도했다 sudo gem install jekyll:

└─>gem install jekyll
ERROR:  While executing gem ... (Errno::EACCES)
    Permission denied - /var/lib/gems/1.9.1/gems/fast-stemmer-1.0.2/LICENSE
┌─[Sat Jun 08][jon@jon-MacMini:~/Web]
└─>sudo !!
sudo gem install jekyll
Building native extensions.  This could take a while...
ERROR:  Error installing jekyll:
    ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from extconf.rb:1:in `<main>'


Gem files will remain installed in /var/lib/gems/1.9.1/gems/fast-stemmer-1.0.2 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/fast-stemmer-1.0.2/ext/gem_make.out

나는 또한 여기에 대한 답변을 따르려고했지만 도움이되지 않습니다. sudo apt-get install jekyll공장. 그럼에도 불구하고 running jekyll new myblog은이 오류를 반환합니다.

└─>jekyll new myblog
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': iconv will be deprecated in the future, use String#encode instead.
WARNING: Could not read configuration. Using defaults (and options).
    No such file or directory - new/_config.yml
Building site: new -> myblog
/usr/lib/ruby/vendor_ruby/jekyll/site.rb:126:in `chdir': No such file or directory - /home/jon/Web/new/ (Errno::ENOENT)
    from /usr/lib/ruby/vendor_ruby/jekyll/site.rb:126:in `read_directories'
    from /usr/lib/ruby/vendor_ruby/jekyll/site.rb:98:in `read'
    from /usr/lib/ruby/vendor_ruby/jekyll/site.rb:38:in `process'
    from /usr/bin/jekyll:250:in `<main>'

이 문제의 원인을 아는 사람이 있습니까?



답변

내 13.04 및 14.04 시스템에서 ruby-dev 패키지를 설치 한 다음 gem 설치를 실행 한 후에 문제가 해결되었습니다.

  • sudo apt-get install ruby1.9.1-dev(또는 ruby-dev대신 시도하십시오 )

  • gem install jekyll # 이것이 실패하면 sudo gem install jekyll

그 후 jekyll이 올바르게 설치되었습니다.

에 대한주의 gem install지시가 sudo를 사용에 좋은 것은 아닙니다. *****

RVM과 같은 것을 사용하는 것이 좋으므로 sudo필요하지 않습니다. sudo예를 들어 권한이 이전 sudo 명령 또는 루트 레벨 구성에 의해 설정된 경우 일부 시스템에서을 사용해야 할 수도 있습니다 .

자세한 내용과 루트 대신 사용자에게 권한을 설정하는 방법에 대한 도움말은 sudo없이 gem을 설치하는 방법에 대한stackoverflow 질문을 참조하십시오 .

*****이 모범 사례 조언과 rvm.io 링크에 대한 @iguarav의 공로 .


답변

RVM없는 14.04 LTS 가이드

Jekyll 3에는 ruby ​​2.0 이상이 필요하므로 먼저 ruby ​​2.0을 설치합니다. 개발 헤더 및 nodejs입니다.

sudo apt-get install -y ruby2.0 ruby2.0-dev nodejs

그런 다음 루비 패키지에 포함 된 명령을 새 버전으로 지정합니다.

sudo update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby2.0 10
sudo update-alternatives --install /usr/bin/gem gem /usr/bin/gem2.0 10
sudo update-alternatives --install /usr/bin/irb irb /usr/bin/irb2.0 10
sudo update-alternatives --install /usr/bin/rdoc rdoc /usr/bin/rdoc2.0 10
sudo update-alternatives --install /usr/bin/testrb testrb /usr/bin/testrb2.0 10
sudo update-alternatives --install /usr/bin/rake rake /usr/bin/rake2.0 10
sudo update-alternatives --install /usr/bin/erb erb /usr/bin/erb2.0 10
sudo update-alternatives --install /usr/bin/ri ri /usr/bin/ri2.0 10

그리고 마지막으로 gemjekyll gem을 설치합니다.

sudo gem install jekyll

답변

또한 sudo실행 에 의존하고 싶지 gems않으므로 사용자를 루트 그룹에 추가하고 다음 을 수행하는 것이 좋습니다.

sudo chmod -R 770 /var/lib/gems
sudo chmod -R 770 /usr/local/bin

이 스레드에서 몇 가지 업데이트를 수행하십시오. jekyll의 설치 문서 에 따르면 필요한 버전은 버전 2입니다. 권한 문제를 해결 한 후 예상 오류가 발생했습니다.

ERROR:  Error installing jekyll:
jekyll requires Ruby version >= 2.0.0.

RVM으로 설치 :

gpg --keyserver hkp://keys.gnupg.net --recv-keys \  409B6B1796C275462A1703113804BB82D39DC0E3
curl -sSL https://get.rvm.io | bash -s stable --ruby
/bin/bash --login
rvm install 2.3.0
rvm use 2.3.0
rvm rubygems latest
ruby --version
rvm install ruby-dev

Ruby 설치와 관련된 다른 문제는 다음을 수행 하십시오 .

그 후, 그것은 나를 위해 일했습니다.


답변