와 ldiff에 액세스 할 수 없습니다 루비 온 레일 (3.2) 다음과 같은 환경에 응용 프로그램 :diffy 내가 가진 vendored DIFF-LCS
- 배포 :
capistrano
, 표준 폴더 구조 (my_app/current, /shared, /releases
) - 루비 :
v2.3
은/usr/local/bin/ruby
에 출처에서 설치되었습니다. RVM 또는 rbenv - Bundler를 사용하지 : 카피 스트라 노 표준 계층 구조에서
my_app
수준에서 설치 capistrano-bundler를 사용을my_app/shared/bundler
- 응용 프로그램 서버 : passenger-phusion with nginx를 사용은, 시작은
systemctl
문제로 관리 : 나는 보석 diffy을 사용하고있는 diff-lcs이 제공하는 ldiff
실행 파일을 사용합니다. 이 실행 파일은 실제로 번들러 생성 스텁 인 /home/my_user/my_app/shared/bundle/ruby/2.3.0/bin/ldiff
에 있습니다. 나는 다음과 같은 코드를 삽입 할 때 이제 : Diffy::Diff.new('abcd', 'abcde').to_s
, 그루터기가 실행되고 다음과 같은 오류가 발생합니다 :이 레일 콘솔에서 작동
/usr/local/lib/ruby/site_ruby/2.3.0/rubygems.rb:289:in `find_spec_for_exe': can't find gem diff-lcs (>= 0.a) with executable ldiff (Gem::GemNotFoundException)
from /usr/local/lib/ruby/site_ruby/2.3.0/rubygems.rb:263:in `bin_path'
from /home/my_user/my_app/shared/bundle/ruby/2.3.0/bin/ldiff:24:in `<main>'
참고하지만 서버한다. diffy.rb을 보면 diffy (실제 위치는 bundle exec diffy ...
)가 실행중인 실제 명령을 제어 할 수 없습니다.
해결 방법? 유일한 방법은 판매 된 보석을 없애고 모든 보석을 시스템 차원에서 설치하는 것입니다.
추신 : [wkhtmltopdf][6]
을 사용하는 동안 같은 문제가 발생했지만, wkhtmltopdf
은 기본 패키지를 사용하도록 구성 설정을 제공합니다.