저는 nginx와 unicorn을 사용하여 Ruby on Rails 응용 프로그램을 배포하려고합니다. 내 유니콘 init 스크립트를 실행하려고하면, 나는 다음과 같은 오류가 발생합니다 :su가 실제 사용자로 로그인했을 때와 다른 루비 버전을 사용하는 이유는 무엇입니까?
이이 명령 실행에 실패$ sudo service rails_app start
Starting rails_app
-su: bundle: command not found
: $USER
작품 단지로 로그인 한 상태에서 수동으로 유니콘을 실행하는, 그러나
su - complab -c "bundle exec unicorn -c config/unicorn.rb -E production -D"
괜찮음 :
$ bundle exec unicorn -c config/unicorn.rb -E production
초기화 스크립트에서 설정된 경로가 올바른지 확인했습니다. 추가 조사에서 $USER
에 rbenv를 통해 설치된 2.2.0 버전의 ruby가 있고 su - $USER -c "ruby -v"
을 실행하면 1.9.3에서 실행중인 것으로 나타났습니다.
나는 이미 rbenv global 2.2.0
을 실행했지만 여전히 작동하지 않습니다.
su
은 내가 세션을 소유 한 사용자를 일시적으로 변경할 수 있다고 생각 했습니까? su $USER
은 내가 실제로 일 때와 다른 루비 버전을 표시합니다.은 $USER
으로 로그인 했습니까?
희망을 보내주세요.
을 당신은
sudo
와 루비를 실행하려면이 같은 명령을 사용할 수 있습니다 비 로그인 쉘 및/또는 비대화 쉘에서 작동하도록'rbenv'를 설정 했습니까? –아니요,'su - $ USER'에서 여전히 작동 할 것이라고 생각하는'$ USER' 만 위해 설정했습니다. 나는'$ USER'의 외부에서 그것을 사용하도록 설정하는 방법을 모르겠다. ... – meyagen