2013-08-19 161 views
4

我對Ruby on Rails比較陌生。Ruby on Rails中的Gem路徑錯誤

我嘗試運行應用程序時遇到問題。我得到以下errror:

* ERROR *:無法執行/usr/local/rvm/wrappers/[email protected]/ruby:沒有這樣的文件或目錄(2)

這是真的;沒有這樣的目錄。有一個名爲 /usr/local/rvm/wrappers/[email protected]/ruby的文件 - 這正是我想要使用的gem文件。

據我所知,.rvmrc文件指定了gem文件的目錄。在這種情況下,然而,.rvmrc有以下幾點:

rvm --create use "[email protected]" 

此外,rvm info雕像是/usr/local/rvm/gems/[email protected]實際上是在創業板路徑。

那麼,它爲什麼認爲它應該尋找這條不存在的路徑?

由於提前, 添

+0

輸出結果是什麼:'rvm','rvm current'和'rvm gemset list'? – cortex

回答

1

運行一個rvm current看到紅寶石的版本和您所使用的寶石。然後運行rvm gemset list以查看您創建的哪些寶石集。如果未列出soda,則請執行rvm gemset create soda以創建此gemset。
刪除此.rvmrc文件,然後創建另一個文件。 (這不會破壞你項目中的任何內容,只會刪除ruby和gems的項目引用)。
你可以閱讀這個答案可以幫助您更好地瞭解如何RVM的作品,有一個環節有:

How to make rvmrc file in project root folder?

0

我遇到同樣的問題,而與Nginx的&乘客設立軌生產機器。以下是我解決問題的方法。

  1. 確保乘客寶石安裝,然後cd到項目目錄,並運行以下命令
passenger-config build-native-support --help 

,這將給你輸出類似以下內容:

用法:passenger-config build-native-support [選項]

Phusion Passenger使用Ruby原生擴展名爲 native_support來改進Ruby性能。擴展 取決於Phusion Passenger版本和Ruby版本。 正常情況下,每次運行Phusion Passenger版本時,都會遇到以前沒有遇到過的Ruby 版本,它會重建該版本的 native_support庫。通過運行這個 命令,您可以強制爲當前的Ruby解釋器構建native_support以構建 。

目前Ruby解釋是:

Path: /home/deploy/.rvm/gems/[email protected]/wrappers/ruby 
Version: 2.1.5 

選項: -h,--help顯示此幫助

  • 現在複製從路徑輸出並粘貼到nginx配置文件中。在我的情況下,它是位於/etc/nginx/nginx.conf

    passenger_ruby /home/deploy/.rvm/gems/[email protected]/wrappers/ruby

  • 最後重新啓動服務器或運行你的部署腳本。