라이브러리가로드되지 않음 : /usr/local/opt/readline/lib/libreadline.7.dylib
실행하려고 rails console
하면이 오류가 발생합니다.
/Users/TuzsNewMacBook/.rvm/gems/ruby-2.3.7/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require':
dlopen(/Users/TuzsNewMacBook/.rvm/rubies/ruby-2.3.7/lib/ruby/2.3.0/x86_64-darwin18/readline.bundle, 9):
Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib (LoadError)
빠른 검색을 통해이 게시물 을 찾았고 몇 가지 시도해 보았습니다.
brew reinstall postgresql
(이것은 실제로이 프로젝트의 DB입니다)
과
cd /usr/local/opt/readline/lib
ln libreadline.8.0.dylib libreadline.6.2.dylib
(내 readline 버전은 8입니다)
과 brew link readline --force
그러나 이것들 중 어느 것도 그것을 고치지 못했습니다.
나는 최근에 추가 된 pry-coolline
, guard
그리고 guard-livereload
내 프로젝트에 보석은 어떤 차이가 (그 전에 콘솔로드 미세 레일)합니다. 최신 macOS에서 실행 중입니다.
(업데이트) 차이가 있다면 레일 콘솔로 프라이 레일을 사용하고 있습니다.
도움이 필요하세요? 감사.
검색 할 때 오류가 발생하는 것 같습니다 /usr/local/opt/readline/lib/libreadline.7.dylib
.
심볼릭 링크를 시도 했습니까?
그래서 다음과 같습니다.
cd /usr/local/opt/readline/lib
ln -s libreadline.8.0.dylib libreadline.7.dylib
macOS Mojave, ruby 2.5.3p105 및 Rails 5.2.2에서 시도하고 작동했습니다.
내 Ruby 버전을 다시 설치하면 문제가 해결 된 것 같습니다.
rvm reinstall 2.3.7
예, 가장 좋은 대답은 다시 설치하는 것입니다.
다음을 입력하여 쉽게 버전을 얻을 수 있습니다.
ruby -v
와 rbenv
명령이 예입니다 :
rbenv install 2.3.7
와 함께 rvm
:
rvm reinstall 2.3.7
대부분의 경우 Ruby 애플리케이션에서 이는 특정 버전 (이 경우 ..)을 사용하여 빌드 된 확장 ( "Building native extensions .."이라고 말하는 gem)이있는 gem에 의해 발생합니다 readline
.
기본적으로 두 가지 솔루션이 있습니다.
어느 쪽이든 gem의 버전 8을 누락 된 버전에 심볼릭 링크 할 수 있습니다. 이것은 많은 경우에 작동하지만 이전 버전과의 호환성이 깨지면 작동하지 않습니다.
또는 gem이 실제로 버전 8을 지원하는 경우 특정 gem을 다시 설치하거나 gem pristine --all
.
편집 : "내가 시도한 것"의 범위에서 PostgreSQL을 다시 설치하는 것은 readline과 같은 시스템 라이브러리와 함께 작동하기 위해 다시 빌드해야 할 수도있는 특정 버전을 사용하여 빌드 된 바이너리 중 하나이기도합니다.
너 시도 할 수있어
cd /usr/local/opt/readline/lib
ln -s libreadline.8.dylib libreadline.7.dylib
당신은 올바른 길을 가고 있지만 rails가 libreadline.7.dylib를 찾고 있고 libreadline.7.dylib가 폴더에없는 것 같습니다.
그래서 나는 여기에 몇 가지 답변을 확인했지만 바닐라 Mojave Mac 설치로 작동 할 수 있다고 생각하지 않습니다. 나는 이것을하는 동안 10.14.4를 사용하고 있습니다.
https://brew.sh 에서 homebrew를 얻으십시오.
$ brew install coreutils
: 이것은 mac 용 gnu coreutils pkg를 설치합니다.greadlink
macOSX의 readlink가 gnu readlink와 동일하지 않기 때문에 이에 서 원합니다. 그것은 매우 혼란 스럽지만 맥 랜드에서의 삶입니다.$ echo 'alias readlink=greadlink' >> ~/.bash_aliases
나는 macs readlink가 약간 부족하다는 것을 알았으므로 greadlink 별칭을 지정하여 기존 readlink를 덮어 썼습니다. (모든 사용자가이 기능을 사용할 수 있도록 만들면 모든 사용자가$ alias readlink=greadlink >> /etc/bashrc
사용할 수 있습니다.$ ln -s /usr/local/opt/readline/lib/libreadline.8.dylib /usr/local/opt/readline/lib/libreadline.7.dylib
.8.
'.8.0'대신 이미 연결된 파일을 연결했습니다 . 파일을 업데이트하면.8.1.
내 읽기 링크가 라이브러리의 기능을 중단하거나 놓치지 않기 때문 입니다. 9+가 나오기 전에 Mac을 포맷 할 것이라고 확신합니다.
수동으로 기본 라이브러리를 심볼릭 링크하지 않는 것이 좋습니다. OS X 10.4부터 표준 포함 라이브러리 경로 /usr/include
는 더 이상 사용되지 않으며 SIP에 의해 잠 깁니다 (이동을 어렵게 함).
Apple ships a “legacy installer” for you to be able to install the headers in the “old location”, which will also resolve your path to correctly find headers installed via brew
.
cp /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg ~/Desktop && open ~/Desktop/macOS_SDK_headers_for_macOS_10.14.pkg`
'Development Tip' 카테고리의 다른 글
해시 특정 키를 제외하고 모두 제거 (0) | 2020.10.30 |
---|---|
Sequelize, 엔티티를 일반 객체로 변환 (0) | 2020.10.30 |
Android Studio에서 앱을 디버그 할 수 없음 (0) | 2020.10.30 |
lxml 설치 오류 우분투 14.04 (내부 컴파일러 오류) (0) | 2020.10.30 |
Rails에서 Devise 뷰 커스터마이징 (0) | 2020.10.30 |