【发布时间】:2014-06-06 09:12:39
【问题描述】:
我让 Sinatra 和 Chartkick 在 Windows 开发机器上工作。现在我想将它移动到服务器上,以便其他人可以轻松访问它。
以下是有关我的服务器的一些相关详细信息:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.2 LTS
Release: 12.04
Codename: precise
$ ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
$ gem -v
1.8.15
$ gem list --local
*** LOCAL GEMS ***
chartkick (1.2.4)
rack (1.5.2)
rack-protection (1.5.3)
sinatra (1.4.5)
tilt (1.4.1)
$ cat example.rb
require 'rubygems'
require 'sinatra'
#require 'chartkick'
get '/' do
"Hello World"
end
$ ruby example.rb
== Sinatra/1.2.6 has taken the stage on 4567 for development with backup from WEBrick
[2014-06-06 01:55:43] INFO WEBrick 1.3.1
[2014-06-06 01:55:43] INFO ruby 1.9.3 (2011-10-30) [x86_64-linux]
[2014-06-06 01:55:43] INFO WEBrick::HTTPServer#start: pid=9574 port=4567
**<<<redacted>>>** - - [06/Jun/2014 01:55:53] "GET / HTTP/1.1" 200 11 0.0029
**<<<redacted>>>** - - [06/Jun/2014:01:55:53 PDT] "GET / HTTP/1.1" 200 11
- -> /
^C
== Sinatra has ended his set (crowd applauds)
[2014-06-06 01:56:01] INFO going to shutdown ...
[2014-06-06 01:56:01] INFO WEBrick::HTTPServer#start done.
**<<<removed # from in front of chartkick>>>**
$ ruby example.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- chartkick (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from example.rb:3:in `<main>'
任何人都知道为什么要求失败,或者我可以尝试什么?我确实有一个带有“chartkick.js”的“公共”文件夹。
【问题讨论】:
-
尝试命令
ruby -S gem list --local并确保chartkick 列在ruby 进程中实际可访问的gem 中。 -
我得到一个空列表...好的...但是为什么 sinatra 会起作用,更重要的是我该怎么做。谢谢!
-
我只是想到了 - 您是否以超级用户身份安装了 chartkick?
-
可能使用了'sudo gem install ...',所以是的
标签: ruby sinatra ubuntu-12.04 chartkick