programing

"인스턴스 설치가 누락된 심리" 오류를 해결하는 방법은 무엇입니까?

padding 2023. 6. 2. 20:12
반응형

"인스턴스 설치가 누락된 심리" 오류를 해결하는 방법은 무엇입니까?

rvm을 사용하여 ruby 1.9.3을 설치했습니다. 성공적으로 설치되었지만, ribaml에 대한 불만이 있었습니다.이제 보석(예: 레일)을 설치할 때마다 이 경고가 표시됩니다.

It seems your ruby installation is missing psych (for YAML output). To eliminate this warning, please install libyaml and reinstall your ruby.

저는 Macos X 10.7(Lion)을 사용합니다.

내 경우에는

rvm pkg install libyaml

그리고.

rvm reinstall ruby-1.9.3-p125

문제를 해결했습니다.

Ubuntu를은 Ubuntu를 사용하는지 하십시오.libtool위의 됩니다.

sudo apt-get install libtool

macOS 사용자(홈브루 사용):

rm -rf /usr/local/lib/ruby/gems/ && brew reinstall ruby
brew install libyaml
rvm reinstall 1.9.3

(스노우 레오파드에서) 저에게 효과가 있었던 것입니다.

unbuntu 및 rvm의 경우

sudo apt-get install libtool
rvm pkg install libyaml
rvm reinstall 1.9.3

일했다

rvm을 사용하지 않고 Ruby 1.9.3을 처음부터 구축하고 설치하는 경우(예: rbenv를 사용하여 Ruby 버전을 관리하는 경우)에는 먼저 libaml을 설치해야 합니다.지금 http://pyyaml.org/; 에서 가져오세요, 당신이 원하는 파일은 http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz 입니다.tarball을 열고 결과 폴더에 cd를 넣습니다.그러면:

./configure --prefix=/usr/local
make
sudo make install

이제 루비를 만들 준비가 되었습니다.http://ftp.ruby-lang.org/pub/ruby/ 에서 루비를 다운로드합니다.tarball을 열고 결과 폴더에 cd를 넣습니다.이제:

./configure --prefix=/wherever/you/want/it/to/go
make
make install

(또는 가능성 있음)sudo make install어디에 두느냐에 따라 다릅니다.rbenv를 사용하는 경우 다음으로 전환하면 작동했음을 알 수 있습니다.rbenv global 1.9.3-p194라고 불리든) (또는귀하버무및든이엇) 전gem --version경고 없이 작동합니다.Mac OS X 10.6.8에서 작동했습니다. (업데이트:방금 Mac OS X 10.8.1에서 사용해 봤는데 거기서도 잘 작동한 것 같습니다.)

나의 경우 해결책은 다음을 추가하는 것이었습니다.psych젬 파일로 젬.

저는 이런 문제가 있었습니다.리비아는 컴파일을 하지 않았습니다.libtool을 잃어버린 것으로 밝혀졌습니다.

yum install libtool
yum install libyaml (or rvm pkg install libyaml)
rvm reinstall 1.9.3

그것으로 저의 문제가 해결되었습니다.

홈브루와 함께 macOS에 루비를 설치한 경우 솔루션을 사용해 보십시오.

rm -rf /usr/local/lib/ruby/gems/ && brew reinstall ruby

이렇게 하면 설치된 모든 보석이 제거됩니다.을 설치보 저하것좋이로 하는 것이 .gem list실행하기 전에.

$ brew doctor
$ brew link libyaml

나는 ruby 1.9.3을 libaml 지원으로 다시 설치했습니다.

rvm reinstall 1.9.3 --with-libyaml

싸이코를 설치하기 전에 1.9.3을 사용해야 합니다.

rvm use 1.9.3

정신과를 설치했습니다.

gem install psych

드디어 고쳤어요.문제는 제가 양주와 함께 리비아암을 설치했는데도 연결이 되지 않았다는 것입니다.충돌하는 헤더 파일을 제거한 다음brew link libyaml.

macosx용 rvm과 함께 ruby를 설치하고 autolibs를 사용하여 libaml을 설치하고 먼저 libaml을 제거하면 도움이 됩니다.

이것은 저에게 효과가 있었습니다.

brew uninstall libyaml
rvm autolibs enable
rvm reinstall ruby-2.1.1

저도 같은 문제(Lion 10.7.4)가 있었는데, rvm을 업그레이드한 후 루비를 다시 설치하여 해결했습니다.

업그레이드 rvm https://rvm.io/ /rvm/install/

curl -L https://get.rvm.io | bash -s stable --ruby

그런 다음 rvm을 사용하여 이전 버전의 rvm과 함께 설치된 Ruby 1.9.3을 다시 설치합니다.

rvm reinstall 1.9.3

이것이 Ubuntu에서 저에게 도움이 되었습니다.
( install libiaml-dev (sudo apt-get install libaml-dev)
+ 13rvm + ruby 1.9.3

sudo port install libyaml # or brew install libyaml
rvm get latest
rvm pkg install iconv
rvm pkg install openssl
rvm reinstall 1.9.3 --with-openssl-dir=~/.rvm/usr --with-iconv-dir=~/.rvm/usr

curl -OL http://rubyforge.org/frs/download.php/75414/linecache19-0.5.13.gem
curl -OL http://rubyforge.org/frs/download.php/75415/ruby-debug-base19-0.11.26.gem

gem install linecache19-0.5.13.gem ruby-debug-base19-0.11.26.gem -- --with-ruby-include=$rvm_path/src/ruby-1.9.3-p125/
gem install ruby-debug19

rvm reload

.rvmrc 다시 로드(cd out, cd in)

bundle

이 대답들 중 어떤 것도 저에게 효과가 없었습니다.

저는 https://github.com/sstephenson/ruby-build/issues/119 에서 제 답을 찾았습니다. 저는 Centos 6.3 Virtual Machine에 있습니다.

루비를 설치하기 전에 반드시 리비아를 설치해야 합니다.루비를 이미 설치했다면 소스를 다시 컴파일하기 전에 파일을 제거해야 합니다!!!

# cd to your ruby source location
rm -rf /usr/local/lib/ruby # clean out ruby files
./configure
make && make install
gem -v # check if error is fixed

저는 libaml 파일을 소스와 별도로 구축하여 /usr/local/lib에 설치했습니다.RVM이 생성한 루비는 여전히 이러한 루비를 보지 못했으며 makefile이나 시스템 LD_LIBRARY_PATH를 무시하는 대신 /usr/local/lib/libyaml*을 ~/.rvm/rubies/ruby-1.9.3-p327/lib/lib/에 복사했습니다.

그것은 경고를 잠재웠습니다.

CentOS 6.3에서는 위의 어떤 것도 작동하지 않았습니다.하지만 루비를 설치하기 전에 소스에서 리비아를 설치하면 문제가 해결되었습니다.

$ wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
$ tar xzvf yaml-0.1.4.tar.gz
$ cd yaml-0.1.4
$ ./configure --prefix=/usr/local
$ make
$ sudo make install

그리고 나서.

rvm install 1.9.3
gem install rails

저는 이 모든 답들을 시도했지만 여전히 그것을 작동시킬 수 없었습니다.저는 홈브루가 있는 clibaml을 설치한 후 rvm이 있는 Ruby 1.9.3과 2.0.0을 설치했습니다.그때마다 그것은 내가 정신과를 그리워한다고 불평했습니다.하지만 리비아를 설치하려고 시도했을 때 이미 설치되어 있다고 합니다.헹구고, 반복합니다.으으.

마지막으로, 제가 한 일은 리비아를 제거하는 이었습니다.그런 다음 rvm에서 autolibs를 사용하도록 설정했는데, 이를 통해 rvm은(적어도 OSX에서는) 종속성을 보다 직접 설치하고 관리할 수 있습니다.제가 루비를 설치했을 때, rvm은 리비아암을 설치할 수 있었고 그것이 올바른 위치에 있다는 것을 인식할 수 있었습니다.

따라서 다른 모든 옵션을 사용해 보셨다면, 실제로 리비아를 제거한 후 루비를 설치해 보십시오.오류 메시지에서 나온 것처럼 직관적이지만, 그것이 마침내 저에게 효과가 있었습니다.

소스에서 루비를 빌드하는 경우(Fedora 20에서 1.9.3을 빌드했습니다), 루비를 빌드하기 위한 구성/작성을 수행하기 전에 다음이 필요합니다.

yum install libyaml-devel

(yum install libaml 외에도.)위의 rpm forge를 사용한 Francis의 답변과 유사합니다.

저는 동일한 문제(Cent OS 5.7)를 겪었지만, 위의 솔루션 중 어느 것도 저에게 효과가 없었습니다.

// My console warning
/usr/local/rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/yaml.rb:56:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.

의 재설치를에 저는 그것이 yaml을 것을 .1.9.11.9.3그래서 다운그레이드를 했습니다.

// obviously after installing `libyaml`
rvm remove all
rvm install 1.9.1
rvm use 1.9.1 --default

그리고 그것은 8D로 작동했습니다!

사용 중

rvm 1.16.20 (버전) by Wayne E.세긴, 미칼 파피스 [https://rvm.io/ ]

번들 설치 중에 다음 오류가 발생했습니다.

.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/yaml.rb:56:in ': 루비 설치에 정신이 없는 것 같습니다(YAML 출력용).이 경고를 제거하려면 clibaml을 설치하고 루비를 다시 설치하십시오.

다음은 gem install psych를 설치하지 않고도 이 오류를 해결할 수 있는 세 가지 다른 방법입니다.

  1. LDAP_LIBRARY_PATH=/usr/local/lib 내보내기
  2. /etc/ld.so .conf 변경

    sudo su - root
    echo /usr/local/lib64 >> /etc/ld.so.conf
    echo /usr/local/lib >> /etc/ld.so.conf
    ldconfig
    
  3. 다음을 통해 rvm 루비 1.9.3 설치 수정

    patch .rvm/scripts/functions/manage/ruby < ruby-1.9.3-LDFLAGS.patch
    rvm uninstall ruby-1.9.3-p194
    export LDFLAGS='-L /usr/local/lib64 -L/usr/local/lib -Xlinker -R/usr/local/lib64 -Xlinker -R/usr/local/lib'
    rvm install ruby-1.9.3-p194 --disable-binary
    grep configure_args .rvm/src/ruby-1.9.3-p194/config.log # to confirm LDFLAG
    
diff -c.rvm/{src/rvm/,}diff/diff/message/manage/diff.rvm/src/rvm/sys/sys/manage/sys 2012-11-10 06:28:14.000000000 +0000.rvm/messages/messages/manage/messages 2013-01-25 17:00.0000000 +0000****************** 106,123 ****친척이 실제로 존재할 때 리비아암은 루비 자체에 설치되어 루비와 함께 이동할 것입니다.prefix_path="${rvm_rubies_path}/${rvm_rubies_string}" libiaml
__rvm_update_configure_env CFLAGS="-I${rvm_rubies_path}/${rvm_ruby_string}/포함"__rvm_update_configure_envLDFLAGS="-L${rvm_rubies_path}/${rvm_ruby_string}/lib"if [ -d "${rvm_rubies_path}/${rvm_rubies_string}/lib64"]그런 다음 __rvm_update_configure_envLDFLAGS="-L${rvm_rubies_path}/${rvm_ruby_string}/lib64"fi또 다른libiaml_installed || libiaml # libiaml 설치
__rvm_update_configure_env CFLAGS="-I${rvm_path}/usr/include"__rvm_update_configure_envLDFLAGS="-L${rvm_path}/usr/lib"if [ -d "${rvm_path}/usr/lib64" ]그런 다음 __rvm_update_configure_envLDFLAGS="-L${rvm_path}/usr/lib64"fifi
--- 106,123 ----친척이 실제로 존재할 때 리비아암은 루비 자체에 설치되어 루비와 함께 이동할 것입니다.prefix_path="${rvm_rubies_path}/${rvm_rubies_string}" libiaml
__rvm_update_configure_env CFLAGS="-I${rvm_rubies_path}/${rvm_ruby_string}/${CFLAGS} 포함"__rvm_update_configure_envLDFLAGS="-L${rvm_rubies_path}/${rvm_ruby_string}/lib ${LDFLAGS}"if [ -d "${rvm_rubies_path}/${rvm_rubies_string}/lib64"]그런 다음 __rvm_update_configure_envLDFLAGS="-L${rvm_rubies_path}/${rvm_ruby_string}/lib64 ${LDFLAGS}"fi또 다른libiaml_installed || libiaml # libiaml 설치
__rvm_update_configure_env CFLAGS="-I${rvm_path}/usr/include ${CFLAGS}"__rvm_update_configure_envLDFLAGS="-L${rvm_path}/usr/lib ${LDFLAGS}"if [ -d "${rvm_path}/usr/lib64" ]그런 다음 __rvm_update_configure_envLDFLAGS="-L${rvm_path}/usr/lib64 ${LDFLAGS}"fifi

저는 또한 같은 실패를 겪었습니다.rvm install ruby-2.0.0여러 시간 동안.설치하기 했습니다; 저는리를설치위해모든시다다도니습했방법.wget source,yum그리고.rvm저는 또한 비슷한 스레드에 나열된 모든 다른 접근 방식을 시도했습니다.저는 모든 다른 방법을 시도했기 때문에 리비아의 여러 설치와 위치를 가지고 있었습니다.

은 RVM에 할 수 .~/.rvmRVM이 아닌 설치에서 리비아 파일을 제거하는 것만으로 이 문제가 해결되었습니다.

sudo rm /usr/local/lib/libyaml*.*

rvm reinstall ruby-2.0.0-p0

효과가 있습니다!

NON-RVM 루비 설치 방법입니다.

% uname -a
Linux localhost.localdomain 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013  x86_64 x86_64 x86_64 GNU/Linux

% cat /etc/redhat-release
CentOS release 6.4 (Final)

% wget http://apt.sw.be/redhat/el5/en/x86_64/dag/RPMS/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
% sudo rpm -K rpmforge-release-0.3.6-1.el5.rf.*.rpm"
% sudo rpm -ivh rpmforge-release-0.3.6-1.el5.rf.*.rpm"

이 파일을 편집하여 rpmforge를 비활성화하고 enabled=0% sudo vi /etc/sudo.d/rpmforge.repo를 설정합니다.

% grep rpmforge ~/.aliases
alias rpmforge "sudo yum --disablerepo='*' --enablerepo='rpmforge'"

% rpmforge install libyaml libyaml-devel

% sudo yum list installed | grep libyaml
libyaml.x86_64          0.1.4-1.el5.rf  @rpmforge                               
libyaml-devel.x86_64    0.1.4-1.el5.rf  @rpmforge  

리비아 수준이 관건입니다.

% tar zxvf ruby-1.9.3-p448.tar.gz
% cd ruby-1.9.3-p448
% ./configure -prefix=$HOME/ruby-1.9.3-p448
% make ; make install
% cd $HOME; ln -s ./ruby-1.9.3-p448 ruby

경로 및 소스 .cshrc 업데이트

% echo $PATH
/home/francis/ruby/bin:/usr/sbin:/home/francis/bin:/home/francis/jdk1.7.0_25/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin

% which ruby
/home/francis/ruby/bin/ruby

% gem update --system

GEM_HOME을 .cshrc 및 source로 설정합니다.

% echo $GEM_HOME
% /home/francis/ruby/lib/ruby/gems

% gem install mysql2 pg ruby-debug-ide rails capistrano capistrano-ext passenger

이 오류가 발생하여 홈브루와 함께 설치된 루비의 다른 버전과 더 이상 사용하지 않는 많은 보석이 있다는 것을 알게 되었습니다.다음과 같이 완전히 정리했습니다.

$ brew remove --force ruby # remove all versions installed
$ sudo rm -rf /usr/local/lib/ruby # remove all gems and leftover files
$ brew install ruby
$ gem install bundler
$ bundle install

를 사용하지 않는 경우Gemfile어떤 보석을 다시 설치해야 하는지 확실히 알아야 합니다.

경우엔 내가 해야일은

rm -rf /usr/local/lib/ruby/gems/2.4.0/gems/psych-2.2.4
rm -rf /usr/local/lib/ruby/gems/2.4.0/extensions/x86_64-darwin-16/2.4.0/psych-2.2.4

FWIW, 자, FWIW,gem list를 포함합니다.

psych (2.2.4, default: 2.2.2)
  • 우분투
  • RVM 사용
  • 이유: Ruby 2.4.4와 Ruby 2.5.1 사이에 상충되는 Psychem 버전

몇 시간 동안 오류를 없애려고 노력했지만 여기에 제 경우에 맞는 답변이 하나도 없어서 제가 어떻게 문제를 해결했는지 글을 올리려고 했습니다.

내 경우엔 내가 뛰었을 때gem list | grep psych과 같은 출력을 .psych(default: 3.1.0, default: 3.0.2).

버전 2.5.0 이후 루비는 최신 버전의 심리학(3.1.0)에 의존하고 있으며 둘 다 기본값으로 설정한 것은 모든 것을 망쳤습니다.이 두 가지가 모두 기본값으로 설정된 이유를 찾지 못했습니다. 이로 인해 컴퓨터에서 rvm과 ruby 버전을 완전히 지웠습니다.

따라서 이전 버전(3.0.2)이 기본값으로 설정되지 않도록 하려면 다음으로 이동합니다.~/.rvm/gems/ruby-x.x.x@global/specifications/default실행하는 경우ls | grep psych두 가지 버전의 보석이 모두 여기에 반환됩니다.하려면 3.1.0을 하십시오.mv psych-3.0.2.gemspec ../그리고 나서 달아나 보세요.gemlist하나의 버전만 기본값으로 나열되도록 하려면...

;drtl;drcd /.rvm/gems/ruby-x.x.x@global/specifications/default mv psych-3.0.2 ../

이것이 누군가에게 도움이 되기를 바랍니다!

눈표범에 대한 카타즈의 해결책은 나에게 효과가 없었습니다.그러나 이 솔루션은 다음과 같은 이점을 제공합니다.

brew install libyaml
rvm get head
rvm reinstall 1.9.3  --with-gcc=clang

(rvm 재설치 시 clang에 "--with-libyaml" 옵션이 없다는 경고가 표시되었지만 오류 메시지는 해결되었습니다.)

이것은 적어도 Ubuntu 10.04에서 작동했습니다.

sudo apt-get install libtool

rvm 1.9.3 다시 설치

Solaris의 경우:

# sudo crle -64 -l /usr/local/lib

덧붙여서/usr/local/lib공유 라이브러리 검색 경로로(mancrle 참조)

Snow Leopard 10.6.8에서 64비트에서 32비트로 전환했을 때 32비트에서 실행할 수 있도록 루비(rvm 사용)를 다시 설치했지만 동일한 문제가 발생했습니다.따라서 이전에 rvm에서 캐슁하여 문제가 해결된 모든 것을 '정리'합니다.이 팁이 누군가를 도울 수 있기를 바랍니다.

rvm 모두 정리

rvm install ruby_version_here //(이렇게 하면 rvm은 최신 yaml도 다시 다운로드합니다.)

그나저나, 이 문제가 해결되지 않는다면 다음과 같이 시도해 볼 수 있을 것 같습니다.

보석 설치 정신과

언급URL : https://stackoverflow.com/questions/9434002/how-to-solve-ruby-installation-is-missing-psych-error

반응형