![소스 설치 경로 문제](https://linux55.com/image/23996/%EC%86%8C%EC%8A%A4%20%EC%84%A4%EC%B9%98%20%EA%B2%BD%EB%A1%9C%20%EB%AC%B8%EC%A0%9C.png)
내 제목이 혼란스럽지 않기를 바랍니다. Ruby 1.8.7이 설치된 CentOS 5 시스템이 있습니다. 그래서 Ruby 설치와 gem/rails를 업그레이드하기 위해 저는
루비 제거:sudo yum 루비 제거
Ruby의 최신 안정 버전을 다운로드하고 압축을 풉니다.wget...&& tar -zxf....
일반적인 설치를 진행했습니다.
- ./configure --prefix=$HOME
- 만들다
- sudo 설치
루비 다운로드:얻다....
설치 파일 실행: 루비 install.rb
이제 내 질문은 Rails를 설치하려고 하면 다음을 입력하여 설치할 수 있다는 것입니다.보석 장착 레일, 다음 메시지가 나타납니다."-bash:/usr/local/bin/gem:/usr/local/bin/ruby: 잘못된 해석기: 권한이 거부되었습니다."
따라서 (나에게) 다음 논리적 움직임은 다음과 같이 입력하는 것이었습니다.sudo gem 설치 레일, 그러나 이것은 반환됩니다"sudo: gem: 명령을 찾을 수 없습니다", 즉 내가 뭔가를 완전히 망쳤다는 의미입니다.
좀 더 많은 정보를 추가하면
루비는 어디에 있나요?:루비: /usr/lib/ruby /usr/lib64/ruby /usr/local/bin/ruby /usr/local/lib/ruby
어떤 루비: ~/빈/루비
소스에서 Ruby를 수동으로 설치하여 뭔가를 엉망으로 만들었다고 생각합니다. 아마도 --prefix=$HOME이 여기서 범인일까요?
답변1
gem
실행 파일을 제공한 패키지를 제거하지 않은 것 같으 므로 해당 패키지는 여전히 존재하며 /usr/local/bin/
더 이상 존재하지 않는 /usr/local/bin/ruby
인터프리터를 가리키고 있습니다.
패키지를 제거하거나(이 패키지가 의존하는 Ruby 패키지도 제거했기 때문에 권장됨) . ( ~/bin
또는 루트 액세스 권한이 있는 경우 를 지정하지 않고 스크립트를 다시 실행하고 , 이는 Ruby의 기본값입니다)./usr/local/bin
PATH
./configure
--prefix=${HOME}
/usr/local/bin
gem
쉘이 에 설치된 실행 파일을 찾을 수 있도록 모든 것을 준비한 후에 는 을 ~/bin
수행할 필요가 없습니다 gem install rails
. sudo
(또는 에 루트를 설치한 경우 에 있는지 /usr/local/bin
확인한 다음 이전에 했던 것처럼 을 실행하십시오. 시도한대로).gem
/usr/local/bin/gem
sudo gem install rails
아마도 더 나은 접근 방식은rvm
또는rbenv
, 둘 다 여러 개의 루비를 관리하는 것을 매우 쉬운 작업으로 만듭니다. 이러한 도구 중 하나를 사용하면 시스템 전체 버전을 제거하지 않고도 여러 버전의 Ruby를 설치할 수 있습니다. 이 버전은 시스템의 다른 패키지에서 제거해야 할 수도 있습니다.