warning: It seems your ruby installation is missing psych (for YAML output).

inhalin·2023년 2월 1일
0

깃허브 블로그를 만들어보려고 했는데 시작하기도 전에 문제가 좀 있어서 기록해둔다.

You don't have write permissions

먼저 Jekyll을 다운받기 위해서 gem으로 필요한 패키지를 설치하려고 했는데 에러가 났다.

gem install bundler
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory.

찾아보니까 바로 이동욱님의 블로그에 해결 방법이 나와있었다.

스택오버플로에도 비슷하게 Mick이라는 분이 해결 방법을 잘 작성해놓았다.

나는 Mick의 방법을 따라했다. (해보니까 ruby-build는 따로 설치하지 않아도 rbenv 설치할 때 자동으로 설치되는 듯 한데 정확하게 모르겠다.)

해결하기

brew update
brew install rbenv

# 잘 설치됐는지 확인
rbenv --version
rbenv 1.2.0

.bashrc 파일에 아래 내용을 추가하고 저장한다. (이거는 지워봤는데 다른 에러는 나지 않았다. 동욱님 블로그에도 이 부분은 없는걸 봐서는 안 써도 문제 없을 것 같다.) -> 처음에 이걸 써주고 bundler를 설치해서 문제가 없었던 것 같다. 이 줄 제거하고 다음날 jekyll 설치하려니까 permission 에러가 났다. 권한 문제 해결을 위해서 반드시 써주도록 한다.

vi ~/.zshrc
# 아래 내용 추가
eval "$(rbenv init -)"
# 저장하고 나옴

source ~/.zshrc

이제 설치 가능한 루비 버전을 확인해보고 제일 최신 버전으로 설치해준다.

rbenv install -l
2.7.7
3.0.5
3.1.3
3.2.0 # 나는 이거 설치함
(...생략)

rbenv install 3.2.0

...하면 원래 잘 설치가 돼야 하는데 BUILD FAILED 된다.

your ruby installation is missing psych

rbenv install 3.2.0
To follow progress, use 'tail -f /var/folders/s1/60m2qq295blgt_b0n08kkrgh0000gn/T/ruby-build.20230201103841.84000.log' or pass --verbose
Downloading openssl-3.0.7.tar.gz...
-> https://dqw8nmjcqpjn7.cloudfront.net/83049d042a260e696f62406ac5c08bf706fd84383f945cf21bd61e9ed95c396e
Installing openssl-3.0.7...
Installed openssl-3.0.7 to /Users/inhalin/.rbenv/versions/3.2.0

Downloading ruby-3.2.0.tar.gz...
-> https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.0.tar.gz
Installing ruby-3.2.0...
ruby-build: using readline from homebrew

BUILD FAILED (macOS 13.1 using ruby-build 20230124)

Inspect or clean up the working tree at /var/folders/s1/60m2qq295blgt_b0n08kkrgh0000gn/T/ruby-build.20230201103841.84000.OG3S4z
Results logged to /var/folders/s1/60m2qq295blgt_b0n08kkrgh0000gn/T/ruby-build.20230201103841.84000.log

Last 10 log lines:
	Check ext/psych/mkmf.log for more details.
*** Fix the problems, then remove these directories and try again if you want.
Generating RDoc documentation
/private/var/folders/s1/60m2qq295blgt_b0n08kkrgh0000gn/T/ruby-build.20230201103841.84000.OG3S4z/ruby-3.2.0/lib/yaml.rb:3: warning: It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
uh-oh! RDoc had a problem:
cannot load such file -- psych

run with --debug for full backtrace
make: *** [rdoc] Error 1

YAML output을 위한 psych 라는게 없어서 나는 에러란다. libyaml을 설치하고 루비를 다시 설치하라고 친절하게 알려준다.

문제 해결하고 해당 디렉토리 삭제하고 다시 시도하라고 별을 세 개나 써서 알려주니까 그것도 잘 따라한다.

해결하기

brew install libyaml
rm -rf /var/folders/s1/60m2qq295blgt_b0n08kkrgh0000gn/T/ruby-build*
rbenv install 3.2.0

NOTE: to activate this Ruby version as the new default, run: rbenv global 3.2.0

설치가 잘 되면 마지막줄에 방금 설치한 루비 버전을 사용하고 싶으면 저 뒤에 나온 명령어를 입력해주면 된다고 친절하게2 알려준다.

rbenv global 3.2.0

드디어 gem install

이제 gem을 사용해서 패키지를 설치할 수 있다.

gem install bundler
Fetching bundler-2.4.6.gem
Successfully installed bundler-2.4.6
Parsing documentation for bundler-2.4.6
Installing ri documentation for bundler-2.4.6
Done installing documentation for bundler after 2 seconds
1 gem installed

굿!

0개의 댓글