2014-02-05 78 views
0

我从来没有在Ruby中编程过一天,但我听说它在编程上类似于Python(我在其中编程)。Ruby需要的资源?

尽管如此,我最近下载了Crunchbang并下载了一个Rubuy程序。我安装了Ruby:

apt-get install ruby 
apt-get install rubygems 
apt-get install sqlite3 

当我运行该文件,我招呼着:

[email protected]:/Pentest/NTLMRelay/ZackAttack# ruby zackattack.rb 
/usr/lib/ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find sqlite3 (= 1.3.6) amongst [] (Gem::LoadError) 
    from /usr/lib/ruby/1.9.1/rubygems/dependency.rb:256:in `to_spec' 
    from /usr/lib/ruby/1.9.1/rubygems.rb:1231:in `gem' 
    from /Pentest/NTLMRelay/ZackAttack/lib/zfdb.rb:7:in `<top (required)>' 
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `require' 
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require' 
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:35:in `require' 
    from /Pentest/NTLMRelay/ZackAttack/clients/ews.rb:9:in `<top (required)>' 
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `require' 
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require' 
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:35:in `require' 
    from /Pentest/NTLMRelay/ZackAttack/lib/zfclient.rb:6:in `<top (required)>' 
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `require' 
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require' 
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:35:in `require' 
    from /Pentest/NTLMRelay/ZackAttack/lib/zfhttpd.rb:7:in `<top (required)>' 
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `require' 
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require' 
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:35:in `require' 
    from zackattack.rb:8:in `<main>' 

我茫然很完全。帮助表示赞赏/

+0

提供宝石的'输出list' –

+0

'***当地的宝石*** 捆绑(1.5.2)' 有installin sqlite3的宝石错误(如下所述) – Goodies

回答

0

您需要安装红宝石宝石,以及:

gem install sqlite3 

如果你的程序有一个Gemfile中,这样做:

gem install bundler 
bundle install 

另一个提醒,通过RVM安装Ruby,它会节省您的一些头痛。

UPDATE:

最有可能你还需要下面的包:

sudo apt-get install libsqlite3-ruby 
+0

谢谢!现在,我在'gem install sqlite3'上得到这个错误: 'root @ crunchbang:/ Pentest/NTLMRelay/ZackAttack#gem install sqlite3 构建原生扩展。这可能需要一段时间... 错误:安装sqlite3时出错: \t错误:无法构建gem本机扩展。 /usr/bin/ruby1.9.1 extconf.rb 检查sqlite3.h ...否 sqlite3.h丢失。尝试'端口安装sqlite3 +通用' 或'yum install sqlite-devel'并检查共享库搜索路径(您的sqlite3共享库位于的 位置)。 *** extconf.rb失败***' – Goodies

+0

这个错误是因为apt只是安装SQLite的基础知识以使其在不提供所需的头文件的情况下工作,因此可以编译驱动程序。这是我反复尝试使用apt和yum所遇到的问题,因此我总是从源代码安装我的语言。语言移动速度比回购制造商快得多。 –

0

您还可以安装使用如下:

apt-get install ruby-sqlite3 

或在我的情况:

apt-get install sqlite3-ruby 
0

我会避免使用apt-get安装Ruby,因为您将面临很多问题(版本,宝石管理等)。改用RVM。

(1.9之前,特别是如果你ruby -v回报的东西)删除您apt-get安装,然后跟着在http://rvm.io/rvm/install

说明RVM将让您更轻松地安装多个Ruby版本和管理你的宝石。

一旦你用RVM安装完成后,请执行以下操作:

gem install sqlite3 -v 1.3.6 

一旦你有了RVM运行,事情应该变得更加容易......不要担心你花费额外的时间在开始的时候,它会还清:-)