簡體   English   中英

使用'paperclip'gem和Ruby on Rails 3的問題

[英]Problem using the 'paperclip' gem and Ruby on Rails 3

我在運行'Snow Leopard'v1.6.5的MacO上使用Ruby on Rails 3。

我想使用'paperclip'gem,所以我將它包含在我的Gemfile中,如下所示:

gem 'paperclip', "~> 2.3"

然后,在終端I中運行命令:

sudo bundle install

結果是:

...
Using paperclip (2.3.8) 
Using thor (0.14.6) 
Using railties (3.0.1) 
...
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

這意味着安裝了'paperclip v2.3.8'。

然后我從'系統偏好設置/共享/面板'重新啟動'apache'

使用我的RoR應用程序並在網站本地導航,我意識到出了問題。 因此,要查看“控制台消息”中的日志,我發現以下內容:

18/01/2011 16:50:52 org.apache.httpd[12972] [31mCould not find paperclip-2.3.8 in any of the sources[0m

什么意思? 如何解決問題?


更新(重要!!!)

我正確地重新安裝了RVM,現在,運行命令'rvm',我讓它工作......但'paperclip'還沒有:在日志中我仍然有問題' Could not find paperclip-2.3.8 in any of the sources '。

注意:這次我使用的是bundle install而不是sudo bundle install

我發現在終端中運行命令'rails server',我的RoR3應用程序在URL http://0.0.0.0:3000上使用'paperclip'非常有效。 當我在URL http://project.local上使用來自'Snow Leopard'的apache的基本安裝時,它不會。 為什么會這樣?!


編輯(在回答請求后)

rvm info的輸出是:

/usr/local/bin/rvm: line 73: /Users/<my_user_name>/.rvm/scripts/rvm: No such file or directory
...
<A lot of the same line>
...
/usr/local/bin/rvm: line 73: /Users/<my_user_name>/.rvm/scripts/rvm: No such file or directory
/usr/local/bin/rvm: fork: Resource temporarily unavailable
/usr/local/bin/rvm: fork: Resource temporarily unavailable

PS I:我嘗試使用gem 'paperclip', '2.3.8'而不是gem 'paperclip', "~> 2.3" ,但它不起作用。

PS II:我也在使用MacPorts ,我已經安裝了Image-Magick

我得到:“/ usr / local / bin / rvm:第73行:/Users//.rvm/scripts/rvm

嗯,這很有趣。 你不應該在/usr/local/bin看到rvm,所以搞砸了。 請通過編輯將rvm info的輸出添加到您的問題中。

除非你有非常特殊的需求,並且,如果你知道它,因為你要為多個用戶管理主機,你絕不應該使用帶有rvm或rvm控制的gem的sudo sudo引起的混合權限,或者在安裝rvm時以root身份運行,將導致各種奇怪的行為。

如果你有混合/多個rvm版本,那么第一個工作就是清理老鼠的巢並將東西恢復到干凈/穩定的狀態。

然后,您可以安裝當前版本的rvm,並讓它安裝您的Rubies。 此外,使用rvm get head保持rvm最新非常重要。 作者每周更新幾次,更新是透明的,但添加了錯誤修復和新功能。


編輯: rvm info顯示“糟糕的rvm info ”。

除了你的~/.rvm路徑之外,我們需要弄清楚rvm的安裝~/.rvm 在命令行類型:

locate rvm | grep -v /Users

特別是我們正在尋找rvm shell腳本的任何實例。 例如,這是我安裝的第二個版本,以幫助TextMate使用rvm:

/Applications/TextMate.app/Contents/SharedSupport/Bundles/Ruby on Rails.tmbundle/Support/lib/rvm

請注意,它只是行尾的“ rvm ”。


編輯:“我創立:”

好的,這是個好消息。 RVM旨在從一個目錄工作。 您可以運行幾個命令來清理/usr/local路徑:

下一部分將刪除文件和目錄,因此需要仔細完成。 如果您習慣使用命令行並了解典型的系統管理,則可以按以下方式執行以下操作:

sudo rm /_rvm
sudo rm /usr/bin/rvm-install
sudo rm /usr/local/bin/rvm-prompt
sudo rm /usr/local/bin/rvm-shell
sudo rm /usr/local/bin/rvmsudo 

sudo rm /usr/local/bin/rvm

sudo rm -rf /usr/local/rvm/

如果您想更加謹慎,可以打開Finder窗口,然后執行CMD+SHFT+G打開“轉到文件夾”對話框。 將第一個PATH復制並粘貼到上面的命令行中,然后按Return鍵。 Finder將跳轉到該目錄。 查找該文件( _rvm )。 將其拖到垃圾箱。 系統應提示您輸入sudo密碼。 對每個命令重復上述步驟。 這很好用,因為它讓Finder使用它的一些智能來幫助保護你免受我的愚蠢錯誤。 :-)

刪除這些內容后,應該部分清理機器。 從命令行鍵入echo $PATH並查看是否列出了任何這些路徑。 如果是這樣,打開~/.bashrc~/.bash_profile ,找到修改PATH環境變量的位置,並刪除該目錄路徑。

然后,鍵入ls -al ~/.rvm 如果您家中有.rvm文件夾,則可以使用rm -rf ~/.rvm刪除它。 接下來,檢查.bashrc或.bash_profile以查找rvm不指向~/.rvm/Users/your_account_name/.rvm 刪除它們,關閉終端窗口,然后重新打開它。

此時應從您的機器中刪除rvm。

現在已經很晚了,我整個周末都病了,所以明天我們會重新安裝RVM和你的紅寶石,或者,如果你有信心,可以自己嘗試一下。 請記住,你不必使用sudo來安裝RVM。 它應該安裝到您的主目錄,沒有任何投訴。

另外,我認為我們沒有確定您正在運行的操作系統版本或XCode版本。 您可能希望從他們的網站下載適用於您的操作系統的Apple最新版本的XCode DVD上附帶Snow Leopard的版本有一些錯誤,應該盡快升級。 如果您沒有開發者帳戶,請創建一個。 他們是自由的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM