gem을 설치하기 위해 더 높은 Ruby 버전을 지정하는 방법은 무엇입니까?

gem을 설치하기 위해 더 높은 Ruby 버전을 지정하는 방법은 무엇입니까?

Ruby 패키지를 설치했습니다.

$ sudo gem install pdfbeads
ERROR:  Error installing pdfbeads:
    nokogiri requires Ruby version >= 1.9.2.

1.9.1보다 큰 Ruby 버전이 필요하다고 합니다.

내 루비는 1.8.7입니다.

$ which ruby
/usr/bin/ruby
$ ruby --version
ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-linux]
$ gem --version
1.8.15

나는 루비 1.9.1과 1.9.3을 가지고 있습니다.

$ whereis ruby1.9.1
ruby1.9: /usr/bin/ruby1.9.1 /usr/bin/ruby1.9.3 /usr/bin/X11/ruby1.9.1 /usr/bin/X11/ruby1.9.3

그러나 1.9.3은 1.9.1과 관련이 있습니다.

$ ls /usr/bin/ruby* -l
lrwxrwxrwx 1 root root   22 Jul 10 02:33 /usr/bin/ruby -> /etc/alternatives/ruby
-rwxr-xr-x 1 root root 5504 Nov 26  2013 /usr/bin/ruby1.8
-rwxr-xr-x 1 root root 5552 Nov 26  2013 /usr/bin/ruby1.9.1
lrwxrwxrwx 1 root root    9 Nov 26  2013 /usr/bin/ruby1.9.3 -> ruby1.9.1

그러나 1.9.3이라고 나와 있습니다.

$  /usr/bin/ruby1.9.3 --version
ruby 1.9.3p0 (2011-10-30 revision 33570) [i686-linux]

어쨌든 링크를 ruby1.9.3으로 변경했습니다.

$ ls -l /usr/bin/ruby*
lrwxrwxrwx 1 root root    9 Aug 20 21:16 /usr/bin/ruby -> ruby1.9.3
-rwxr-xr-x 1 root root 5504 Nov 26  2013 /usr/bin/ruby1.8
-rwxr-xr-x 1 root root 5552 Nov 26  2013 /usr/bin/ruby1.9.1
lrwxrwxrwx 1 root root    9 Nov 26  2013 /usr/bin/ruby1.9.3 -> ruby1.9.1

설치에는 여전히 Ruby ​​>= 1.9.2가 필요하다고 표시됩니다.

$ sudo gem install pdfbeads
ERROR:  Error installing pdfbeads:
    nokogiri requires Ruby version >= 1.9.2.
$ gem --version
1.8.15
$ ruby --version
ruby 1.9.3p0 (2011-10-30 revision 33570) [i686-linux]

Ruby 1.9.3이 있나요, 아니면 Ruby 1.9.1만 있나요?

루비 1.9.3을 어떻게 사용하나요 sudo gem install pdfbeads?


고쳐 쓰다:

rvm이제 RVM 방식을 따라 Ruby 2.1.0을 설치했고, 내 경로를 추가했습니다 PATH. 그런 다음 Ruby 2.1.0을 성공적으로 설치했습니다.

$ rvm install 2.1.0

그리고 기본값으로 설정

$ rvm use 2.1.0

$ ruby -v
ruby 2.1.0p0 (2013-12-25 revision 44422) [i686-linux]
$ which ruby
/home/tim/.rvm/rubies/ruby-2.1.0/bin/ruby

이제 설치 패키지로 돌아가 pdfbeads지만 아무 것도 없습니다 sudo(왜냐하면 루트가 아닌 내 계정에 Ruby 2.1.0이 설치되어 있다고 생각했고 설치 패키지에는 최신 버전의 Ruby가 필요하기 때문입니다)

$ gem install pdfbeads
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions into the /var/lib/gems/1.8 directory.

그래서 사용해야 할 것 같습니다 sudo. 하지만 여전히 원래 오류가 발생합니다.

$ sudo gem install pdfbeads

ERROR:  Error installing pdfbeads:
    nokogiri requires Ruby version >= 1.9.2.

sudo제 생각에는 user 아래에서는 root여전히 이전 버전의 Ruby ​​1.8.7이 기본적으로 설정되어 있기 때문인 것 같습니다 . 그럼 이제 내가 무엇을 할 수 있는지 궁금합니다.

답변1

rvm이나 rbenv와 같은 Ruby 패키지 관리자를 사용하는 것을 고려해 볼 수도 있습니다.

다양한 루비를 설치하고 쉽게 전환할 수 있습니다.

2.0 이상을 시도해 볼 수도 있습니다.

rvm의 출력 예:

21:59:48 durrantm Castle2012 /home/durrantm 
$ rvm list

rvm rubies

   ruby-1.8.7-p374 [ x86_64 ]
   ruby-1.9.3-p125 [ x86_64 ]
   ruby-1.9.3-p194 [ x86_64 ]
   ruby-1.9.3-p448 [ x86_64 ]
   ruby-2.0.0-p195 [ x86_64 ]
=* ruby-2.0.0-p247 [ x86_64 ]
   ruby-2.0.0-p481 [ x86_64 ]
   ruby-2.1.1 [ x86_64 ]
   ruby-2.1.2 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

21:59:50 durrantm Castle2012 /home/durrantm 
$ rvm use 2.0.0
Using /home/durrantm/.rvm/gems/ruby-2.0.0-p481

$ rvm use 2.1.1
Using /home/durrantm/.rvm/gems/ruby-2.1.1

$ rvm use 1.9.3
ruby-1.9.3-p547 is not installed.

$ rvm use 1.9.3-p448
Using /home/durrantm/.rvm/gems/ruby-1.9.3-p448

RVM 받기http://rvm.io/

유명한 1 개스킷을 설치하십시오.

$ \curl -sSL https://get.rvm.io | bash -s stable

답변2

RVM을 설치하고 다음 명령을 사용하십시오.

rvm install 1.9.3
rvm use 1.9.3 --default
gem install pdfbeads  # Avoid sudo, will not fix real problems here.

관련 정보