我目前正在尝试在新安装的 64 位 debian 挤压机上安装 Webistrano,但我遇到了一些我无法解决的问题。
注意:本机是在 Xen 环境下创建的,我认为这不会影响程序,但提及它似乎很重要。
程序:
信息:
- 红宝石版本:
ruby 1.8.7 (2010-08-16 patchlevel 302) [x86_64-linux]
- Rails 版本:`Rails 2.3.11
- 路径修饰符:
/usr/lib/ruby/1.8:/var/lib/gems/1.8/bin
- Rails 环境:开发
- 已创建数据库
- 我相信 webistrano 的数据库设置是正确的 (user/pass/path_to_sock_file)
所以,这就是我所做的:
我首先为此类安装安装了“基础”包:
# apt-get install build-essential ruby rubygems libmysql-ruby libmysqlclient-dev libdbd-mysql-ruby mysql-server unzip rake
然后我一直在下载项目并将其解压缩到 /usr/src 中。在为电子邮件/数据库设置复制和配置文件后(如https://github.com/peritor/webistrano建议的那样),我继续安装项目所需的所有 gem:
bundle install
此时,命令被卡住并且一个小时没有做任何事情。
我知道如果 Gemfile 很复杂,可能会发生这种情况,但对我来说似乎并非如此。(参见下面的 Gemfile)
# cat Gemfile
source "http://rubygems.org"
gem 'bundler', "~>1.0.10"
gem "rails", "2.3.11"
gem "mysql"
gem "erubis"
gem "rake"
gem "syntax", "1.0.0"
gem "capistrano", "2.6.0"
gem "open4", "0.9.3"
gem "exception_notification", "2.3.3.0"
group :test do
gem "mocha", "0.9.8"
end
所以决定继续,我手动安装了宝石,一旦完成就会给出:
# gem list *gems of Gemfile*
bundler (1.0.10)
rails (2.3.11)
mysql (2.8.1)
erubis (2.7.0)
rake (0.9.2.2)
syntax (1.0.0)
capistrano (2.6.0)
open4 (0.9.3)
exception_notification (2.3.3.0)
mocha (0.9.8)
所以我相信一切都应该工作而不必运行:bundle install
这就是我最终尝试使用 rake 创建数据库结构的原因:
# rake db:migrate --trace
(in /usr/src/peritor-webistrano-a98ba6b)
rake aborted!
Bundler couldn't find some gems.Did you run `bundle install`?
/usr/src/peritor-webistrano-a98ba6b/config/../config/preinitializer.rb:18
/usr/src/peritor-webistrano-a98ba6b/config/boot.rb:28:in `load'
/usr/src/peritor-webistrano-a98ba6b/config/boot.rb:28:in `preinitialize'
/usr/src/peritor-webistrano-a98ba6b/config/boot.rb:10:in `boot!'
/usr/src/peritor-webistrano-a98ba6b/config/boot.rb:123
/usr/src/peritor-webistrano-a98ba6b/Rakefile:4:in `require'
/usr/src/peritor-webistrano-a98ba6b/Rakefile:4
/usr/lib/ruby/1.8/rake.rb:2383:in `load'
/usr/lib/ruby/1.8/rake.rb:2383:in `raw_load_rakefile'
/usr/lib/ruby/1.8/rake.rb:2017:in `load_rakefile'
/usr/lib/ruby/1.8/rake.rb:2068:in `standard_exception_handling'
/usr/lib/ruby/1.8/rake.rb:2016:in `load_rakefile'
/usr/lib/ruby/1.8/rake.rb:2000:in `run'
/usr/lib/ruby/1.8/rake.rb:2068:in `standard_exception_handling'
/usr/lib/ruby/1.8/rake.rb:1998:in `run'
/usr/bin/rake:28
根据 rake 错误消息,显然有些宝石没有正确安装,这看起来很奇怪,但我猜他找不到它。
所以我用捆绑工具仔细检查:
# bundle check
Your Gemfile's dependencies could not be satisfied
Install missing gems with `bundle install`
# bundle show
Could not find gem 'mocha (= 0.9.8, runtime)' in any of the gem sources listed in your Gemfile.
我被困在这里,我只是不知道如何继续。我在谷歌上搜索了 mocha 或 gemfile 问题,但没有发现太多相关性。
我希望一切都清楚易懂,因为这是我的第一篇文章。
感谢您的任何回复/提示,如果我设法发展,我会尽量让您了解最新情况!