乘客報告無法找到gem json的錯誤。雖然其他寶石可以找到,因爲它們安裝在bundle install
。不過,json是由ruby 2.1.1默認安裝的。捆綁無法在nginx/passenger中找到全局共享gem
它是捆綁顯示JSON已被刪除。
$ bundle show json
The gem json has been deleted. It was installed at:
/home/canoe/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/json-1.8.1
但是寶石仍然可以在系統上找到它。
$寶石列表JSON
JSON(1.8.1)
和JSON被安裝在該位置/home/canoe/.rbenv/versions/2.1.1/lib/ruby/2.1.0/json.rb 。
我在部署rails4.1應用程序時不使用cap,所以這個solution不適用於我。
我不想將所有東西都打包到某個地方,而是使用gemsets中所有當前安裝的gem。
那麼,如何使綁定在nginx乘客中使用系統默認的gem?
乘客應該已經打印了一個錯誤頁面,其中包含環境變量的轉儲。你能仔細檢查像GEM_PATH這樣的重要環境變量是否正確? – Hongli 2014-09-29 15:57:15
是的,我已經將GEM_PATH和GEM_HOME設置爲'bundle env'顯示的值。所以,這就是爲什麼其他非系統寶石在乘客中可見的原因。 – canoe 2014-09-30 00:53:32