gem 在 debian jessie (8.3) 上安装任何东西 returns (Errno::EPERM)

gem install anything returns (Errno::EPERM) on debian jessie (8.3)

刚刚使用 Debian 8.3 (Jessie) 64 位创建了一个新的 DigitalOcean 服务器并尝试安装 Resque

正常 ruby 安装(sudo gem 安装)正在返回

user@server:~$ sudo gem install bundler ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - sendto(2) for "2001:4860:4860::8844" port 53

所以尝试通过 https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-with-rbenv-on-ubuntu-14-04

经过漫长的过程...现在终于可以 运行 没有 sudo 仍然产生

user@server:~$ gem install bundler ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - sendto(2) for "2001:4860:4860::8844" port 53

不太确定接下来要做什么...不是真正的 Ruby 人,只是想安装 resque

是的。 53是DNS。猜测 gem 无法解析您拉动 gem 的位置。 如果您尝试直接点击 rubygems 会怎样?

http://help.rubygems.org/discussions/suggestions/44-ipv6

你机器上有ip v4吗?

是防火墙(ufw + iptables)

  • 需要将 /etc/default/ufwIPV6=no 更改为 IPV6=yes
  • sudo ufw allow 53
  • sudo ufw disable
  • sudo ufw enable