使用';回形针';gem和Ruby-on-Rails 3

使用';回形针';gem和Ruby-on-Rails 3,ruby-on-rails,ruby,ruby-on-rails-3,paperclip,Ruby On Rails,Ruby,Ruby On Rails 3,Paperclip,我正在运行“雪豹”v1.6.5的MacOs上使用RubyonRails 3 我想使用“回形针”宝石,因此我将其包含在我的宝石文件中,如下所示: gem 'paperclip', "~> 2.3" 然后,在终端中,我运行以下命令: sudo bundle install 结果是: ... Using paperclip (2.3.8) Using thor (0.14.6) Using railties (3.0.1) ... Your bundle is complete! Us

我正在运行“雪豹”v1.6.5的MacOs上使用RubyonRails 3

我想使用“回形针”宝石,因此我将其包含在我的宝石文件中,如下所示:

gem 'paperclip', "~> 2.3"
然后,在终端中,我运行以下命令:

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.
这意味着安装了“回形针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”,我让它工作。。。但是“回形针”还没有:在日志中我仍然有一个问题“
在任何来源中都找不到回形针-2.3.8”

注意:这次我使用了
bundle安装
,而不是
sudo bundle安装

我发现在终端中运行命令“rails server”,我的RoR3应用程序与URL上的“回形针”配合得非常好
http://0.0.0.0:3000
。当我在URL
上使用“雪豹”中的apache的基本安装时,情况并非如此http://project.local
为什么会发生这种情况


编辑(在回答请求后)

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
/usr/local/bin/rvm:line 73:/Users/.rvm/scripts/rvm:没有这样的文件或目录
...
...
/usr/local/bin/rvm:line 73:/Users/.rvm/scripts/rvm:没有这样的文件或目录
/usr/local/bin/rvm:fork:资源暂时不可用
/usr/local/bin/rvm:fork:资源暂时不可用

我试着用
gem“回形针”,“2.3.8”
代替
gem“回形针”,“2.3”
,但它不起作用

我也在使用MacPorts,而且我已经安装了Image Magick

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

好吧,这很有趣。你不应该在
/usr/local/bin
中看到rvm,所以有些东西搞砸了。请通过编辑将
rvm info
的输出添加到你的问题中

除非您有非常特殊的需要,而且如果您知道,因为您将为多个用户管理一台主机,您就不应该将
sudo
与rvm或由rvm控制的gem一起使用。由
sudo
或在安装rvm时以root用户身份运行所导致的混合权限将导致各种奇怪的行为

如果您有混合/多个rvm版本,那么第一项工作就是清理老鼠的巢穴,并将其恢复到干净/稳定的状态

然后,您可以安装当前版本的rvm,并让它安装您的Rubies。此外,使用
rvm get head
保持rvm的最新状态非常重要。作者每周对其进行几次更新,更新是透明的,但添加了错误修复和新功能


编辑:
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/
如果您想更加谨慎,可以打开查找器窗口,然后执行
CMD+SHFT+G
打开“转到文件夹”对话框。复制并粘贴上面命令行中的第一条路径,然后按return。查找器将跳转到该目录。查找该文件(
\u rvm
)。将其拖到垃圾箱。系统应提示您输入sudo密码。对每个命令重复此操作。此操作非常有效,因为它允许查找者使用其部分智能来帮助您避免我的愚蠢错误。:-)

删除这些内容后,您的计算机应该进行部分清理。从命令行类型
echo$PATH
中,查看是否列出了这些路径中的任何一个。如果是,请打开
~/.bashrc
~/.bash\u profile
,找到修改PATH环境变量的位置,然后删除该目录路径

然后,键入
ls-al~/.rvm
。如果你家里有
.rvm
文件夹,那么你可以用
rm-rf~/.rvm
删除它。然后,检查你的.bashrc或.bash_配置文件,看有没有任何带有rvm的文件没有指向
/.rvm
/Users/你的账户名/.rvm
。删除这些文件,关闭你的终端窗口,然后重新打开它

此时,应将rvm从机器上拆下

现在已经很晚了,我整个周末都在生病,所以我们明天会重新安装RVM和你的Rubies,或者,如果你有信心,自己试试。记住,你不必使用sudo安装RVM。它应该安装到你的主目录中,没有任何抱怨


此外,我认为我们还没有确定您正在运行的操作系统或XCode的版本。您可能想从他们的网站上下载您的操作系统。DVD上雪豹附带的版本有一些错误,应该尽快升级。如果您没有开发人员帐户,那么创建一个。它们是免费的。

您是运行system ruby还是通过Windowsrvm?可能无法解决您的问题,但将sudo添加到bundle安装中是一种不好的做法,正如这里所讨论的:如果您运行的是apache,那么您使用什么来运行rails?您可以