2011-01-18 4 views
3

'Snow Leopard'v1.6.5를 실행하는 Mac OS에서 Ruby on Rails 3을 사용하고 있습니다.'paperclip'gem과 Ruby on Rails 3을 사용하는 데 문제가 있습니다.

나는 내가 그것을 포함 있도록이 같은 내 Gemfile에 '클립'보석을 사용하려면 :

sudo bundle install 

결과는 다음과 같습니다

gem 'paperclip', "~> 2.3" 

그런 다음, 터미널에서 내가 명령을 실행 :

... 
Using paperclip (2.3.8) 
Using thor (0.14.6) 
Using railties (3.0.1) 
... 
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed. 

즉 'paperclip v2.3.8'이 설치되어 있음을 의미합니다.

가 그럼 난 '시스템 환경 설정에서'아파치 '을 다시 시작/공유 내 RoR에 응용 프로그램을 사용하여 웹 사이트에 로컬로 이동/패널

, 내가 뭔가 잘못 것을 깨달았다.

18/01/2011 16:50:52 org.apache.httpd[12972] [31mCould not find paperclip-2.3.8 in any of the sources[0m 

어떤 의미 : 그래서, '콘솔 메시지'에서 로그를 볼 것, 나는이 다음 발견? 문제를 해결하는 방법?


UPDATE (중요!!!)

나는 명령 'RVM', 내가 그것을 얻 ...하지만 '클립'은하지 않습니다를 실행, 올바르게 RVM 및 다시 설치 아직 : 로그에서 나는 여전히 'Could not find paperclip-2.3.8 in any of the sources'문제가 있습니다.

알림 : 이번에는 sudo bundle install 대신 bundle install을 사용했습니다.

터미널에서 'rails server'명령을 실행하면 RoR3 응용 프로그램이 http://0.0.0.0:3000의 'paperclip'과 잘 작동 함을 발견했습니다. 그것은 URL을 http://project.local에 '스노우 레오파드'에서 아파치의 기본 설치를 사용하지 않습니다.왜 이런 일이 발생합니까?! (응답으로 요청 후에)


편집

rvm info의 출력은 :

/usr/local/bin/rvm: line 73: /Users/<my_user_name>/.rvm/scripts/rvm: No such file or directory 
... 
<A lot of the same line> 
... 
/usr/local/bin/rvm: line 73: /Users/<my_user_name>/.rvm/scripts/rvm: No such file or directory 
/usr/local/bin/rvm: fork: Resource temporarily unavailable 
/usr/local/bin/rvm: fork: Resource temporarily unavailable 

P.S. I : gem 'paperclip', "~> 2.3" 대신 gem 'paperclip', '2.3.8'을 사용하려고 시도했지만 작동하지 않습니다.

P. II : 도 MacPorts이고 Image-Magick을 설치했습니다.

+0

시스템 루비 또는 rvm을 실행하고 있습니까? – greggreg

+1

문제를 해결할 수는 없지만 여기에 설명 된 바와 같이 번들 설치에 sudo를 추가하는 것은 바람직하지 않습니다. http://gembundler.com/man/bundle-install.1.html – icecream

+0

아파치를 실행하고 있다면, 당신은 무엇입니까? 레일을 달리는 데 사용합니까? 당신은 클립을 설치 한 후에 그 서버를 다시 시작하고 싶을 것입니다. –

답변

3

내가 얻을 : 행 73 : "/ usr/지방/빈/RVM /Users//.rvm/scripts/rvm

그게 흥미 롭다./usr/local/bin에 rvm이 표시되어서는 안되기 때문에 무언가 엉망입니다. rvm info의 출력을 편집하여 질문에 편집하십시오.

매우 특별한 경우가 아니라면 여러 사용자를 위해 호스트를 관리하고 있기 때문에 알았 으면을 rvm 또는 rvm 제어 젬과 함께 사용하지 않아야합니다. sudo에 의한 혼합 권한 또는 rvm을 설치할 때 루트 권한으로 실행하면 모든 종류의 이상한 동작이 발생합니다.

여러개의 rvm 버전이 혼합 된 경우, 첫 번째 작업은 쥐의 둥지를 청소하고 물건을 깨끗한/안정된 상태로 되돌려 놓는 것입니다.

그러면 현재 버전의 rvm을 설치하고 루비를 설치할 수 있습니다. 또한 rvm get head을 사용하여 rvm을 최신 상태로 유지하는 것이 중요합니다. 작성자는 일주일에 여러 번 업데이트하며 업데이트는 투명하지만 버그 수정 및 새로운 기능을 추가합니다.


편집 : rvm info은 "bad brokage"를 표시합니다.

~/.rvm 경로 외에 rvm이 설치된 위치를 알아야합니다. 명령 줄에서 다음을 입력 :

locate rvm | grep -v /Users 

는 특히 우리는 rvm 쉘 스크립트의 인스턴스를 찾고 있습니다.

/Applications/TextMate.app/Contents/SharedSupport/Bundles/Ruby on Rails.tmbundle/Support/lib/rvm 

공지가 줄의 끝에 단지 단어 "rvm"입니다 : 예를 들어, 이것은 내가 RVM와의 TextMate 작업을 돕기 위해 설치 한 두 번째 버전입니다.


편집 : "내가 설립"

좋아, 그 좋은 소식입니다. RVM은 하나의 디렉토리에서 작동하도록 설계되었습니다. 두 번째 명령을 실행하여 /usr/local 경로를 정리할 수 있습니다.

다음 부분은 신중하게 수행해야하므로 파일과 디렉터리를 삭제합니다. 좀 더 신중해야 할 경우 Finder 윈도우를 열 수 있습니다

sudo rm /_rvm 
sudo rm /usr/bin/rvm-install 
sudo rm /usr/local/bin/rvm-prompt 
sudo rm /usr/local/bin/rvm-shell 
sudo rm /usr/local/bin/rvmsudo 

sudo rm /usr/local/bin/rvm 

sudo rm -rf /usr/local/rvm/ 

, 다음에 CMD+SHFT+G을 수행하면 명령 줄에서 작업 편안하고 일반적인 시스템 관리를 이해한다면, 당신은 그들이 이러한 작업을 수행 할 수 있습니다 "폴더로 이동"대화 상자를 엽니 다. 첫 번째 PATH을 복사하여 위의 명령 줄에 붙여넣고 return 키를 누릅니다. Finder가 해당 디렉토리로 점프합니다. 해당 파일 (_rvm)을 찾으십시오. 휴지통으로 드래그하십시오. 시스템에서 sudo 암호를 묻습니다. 각 명령에 대해 반복하십시오. 이것은 Finder가 나의 어리석은 실수로부터 당신을 지키기 위해 지능의 일부를 사용할 수 있기 때문에 좋게 작동합니다. :-)

그런 것들이 삭제 된 후에 기계는 부분적으로 청소해야합니다. 명령 줄에서 echo $PATH을 입력하고 나열된 경로가 있는지 확인하십시오. 그렇다면 ~/.bashrc 또는 ~/.bash_profile을 열고 PATH 환경 변수가 수정 된 위치를 찾고 해당 디렉토리 경로를 제거하십시오.

그런 다음 ls -al ~/.rvm을 입력하십시오. 집에 .rvm 폴더가있는 경우 rm -rf ~/.rvm으로 삭제할 수 있습니다. 그 다음에 당신을 확인하십시오.bashrc 또는 .bash_profile은 ~/.rvm 또는 /Users/your_account_name/.rvm을 가리 키지 않는 rvm이있는 모든 것입니다. 그것들을 제거하고 터미널 창을 닫은 다음 다시여십시오.

이 시점에서 rvm을 컴퓨터에서 제거해야합니다.

늦었습니다. 주말 내내 아팠기 때문에 내일 RVM과 루비를 다시 설치하거나, ​​자신감이 있다면, 직접 사용해보십시오. NOT은 sudo를 사용하여 RVM을 설치해야한다는 것을 기억하십시오. 불만없이 홈 디렉토리에 설치해야합니다.

또한 우리는 어떤 버전의 OS 또는 실행중인 Xcode를 설정했다고 생각하지 않습니다. 웹 사이트에서 OS에 맞는 download Apple's most recent version of XCode을 원할 수도 있습니다. DVD에 Snow Leopard와 함께 제공되는 버전에는 몇 가지 버그가 있으며 가능한 빨리 업그레이드해야합니다. 개발자 계정이없는 경우 계정을 만드십시오. 그들은 무료입니다.

+0

질문을 업데이트했습니다. 이제 내가해야 할 일이 뭐야? (도와 줘서 시간을 할애 해 주셔서 미리 감사드립니다.) – user502052

+0

아마도 나는 이해하지 못했습니다. 나는 'locate rvm | grep -v/사용자 명령 '경고 : 데이터베이스 찾기 (/var/db/locate.database)가 존재하지 않습니다. 실행, 다음 명령 데이터베이스를 만들려면 : 데이터베이스가 생성하는 데 시간이 걸릴 수 있음을 유의하시기 바랍니다 /System/Library/LaunchDaemons/com.apple.locate.plist -w 는 sudo launchctl 부하를; 일단 데이터베이스가 생성되면이 메시지는 더 이상 나타나지 않습니다. ' – user502052

+0

어, 그럼 달아주세요! 잠시 시간이 걸리지 만 매우 편리합니다. 'locate '는 일정한 간격으로 드라이브에있는 파일의 위치를 ​​미리 저장하므로, 빨리 찾을 수 있습니다. find를 사용하는 것보다 훨씬 빠릅니다. –

관련 문제