0

尝试在 Ubuntu 12.04 上设置 Sinatra。我已经安装了 RVM,并且我想我已经安装了所有依赖项(如下所列)。我发现另一个 SO 帖子(此处)表明我没有安装 libssl-dev,但看起来我安装了。当我运行时:

sudo gem install sinatra

我得到:

ERROR:  While executing gem ... (NameError)
    uninitialized constant Gem::RemoteFetcher::OpenSSL 

rvm req 安装:

sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsq
lite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion pkg-config

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'libxslt1-dev' instead of 'libxslt-dev'
Note, selecting 'libncurses5-dev' instead of 'ncurses-dev'
autoconf is already the newest version.
automake is already the newest version.
bison is already the newest version.
curl is already the newest version.
git-core is already the newest version.
libncurses5-dev is already the newest version.
libreadline6 is already the newest version.
libtool is already the newest version.
libyaml-dev is already the newest version.
subversion is already the newest version.
zlib1g is already the newest version.
zlib1g-dev is already the newest version.
build-essential is already the newest version.
libc6-dev is already the newest version.
libsqlite3-dev is already the newest version.
libssl-dev is already the newest version.
libxml2-dev is already the newest version.
libxslt1-dev is already the newest version.
openssl is already the newest version.
sqlite3 is already the newest version.
The following packages will be REMOVED:
  libreadline-gplv2-dev
The following NEW packages will be installed:
  libreadline6-dev pkg-config
0 upgraded, 2 newly installed, 1 to remove and 7 not upgraded.
Need to get 40.9 kB/305 kB of archives.
After this operation, 201 kB of additional disk space will be used.
Do you want to continue [Y/n]? y

红宝石版本:

ruby -v
ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-linux]
4

2 回答 2

1

您是否安装了带有 OpenSSL 选项的 RVM?就像是

rvm reinstall 1.9.2 --with-openssl-dir=/usr/local

如果您已经在没有 RVM 的情况下在 System 中安装了 Ruby、IRB 或 RubyGems(例如使用 apt-get),有时您会偶然发现问题。

如果没有,您可能需要考虑使用 OpenSSL 重新安装 RVM。请参阅RVM 文档

我还建议在安装 RVM 之前安装以下软件包

sudo apt-get install build-essential openssl libreadline6 libreadline6-dev \
curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 \
libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison  \
subversion pkgconfig
于 2012-12-20T09:43:32.163 回答
1

如果无法通过 DNS 解析 ruby​​gems.org,则可能会出现此错误(未初始化的常量 Gem::RemoteFetcher::OpenSSL)。它只是发生在我身上。DNS 恢复正常后,gem install 又开始工作了。

于 2014-07-03T16:07:01.653 回答