2011-01-27 4 views
2

얇은 레일 앱을 실행하려고합니다. 나는 다음 sudo는 서비스 얇은 시작얇은 레일 앱

을 수행 한 후이 튜토리얼 http://www.funonrails.com/2010/03/nginx-and-thin-installation-and.html

을 따라

얇은 로그 파일

/usr/lib/ruby/gems/1.8/gems/에서 오류가 bundler-1.0.7/lib/bundler/source.rb : 552 : in load_spec_files': http://github.com/mislav/will _paginate.git (at rails3) is not checked out. Please run 번들 설치`(Bundler :: GitError)

이미 번들 설치를 실행했으며 성공적으로 실행되었습니다. 같은 응용 프로그램에 잡종 서버가 잘 실행됩니다.

무엇이 문제 일 수 있습니다.

+0

나는 레일스 애플리케이션을 루트 권한으로 실행하고 싶지 않다. Nginx는 충분합니다. 얇은 포트는 권한이없는 포트에서 수신 할 수 있습니다. 그것은 훨씬 더 안전 할 것입니다. – Arsen7

답변

3

문제가 아마도 sudo service thin start입니다. 이제 일반 사용자 대신 루비에 대한 루트 환경을 사용합니다. 따라서 루트 루비 환경에서 번들러는 권한이없는 사용자로 설치 한 보석을 찾을 수 없습니다.

이 경우이를 증명하기 위해 ./script/server thin 또는 rails server thin을 실행 해보십시오.

0

내가 생각할 수있는 유일한 점은 하나의 시스템에 두 개의 다른 루비가있을 가능성이 있으며, 하나의 씬은 번들 설치를 실행하지 않았기 때문입니다.

1

문제는 bundler가 ~/.bundle에 보석을 설치한다는 것입니다. 루트로 bundler를 실행하면 승객은 /root/.bundle에서 보석을 찾을 수 없습니다.

해결 방법은 간단합니다. 번들 설치 .bundle은 보석을 ./.bundle에 설치합니다.이 파일은 레일즈 루트 디렉토리 여야합니다.