小编Mar*_*ark的帖子

无法将用户添加到 docker 组

我正在尝试在新系统上设置 docker,当运行 docker info 时,我得到:

docker -v
=> Docker version 18.09.5, build e8ff056

docker info
=> Got permission denied while trying to connect to the Docker daemon
   socket at unix:///var/run/docker.sock: Get
   http://%2Fvar%2Frun%2Fdocker.sock/v1.39/info: dial unix 
   /var/run/docker.sock: connect: permission denied
Run Code Online (Sandbox Code Playgroud)

按照文档,我尝试过:

sudo usermod -a -G docker $USER
Run Code Online (Sandbox Code Playgroud)

不返回任何输出。当我然后运行组时:

groups
=> mark adm cdrom sudo dip plugdev lpadmin sambashare
Run Code Online (Sandbox Code Playgroud)

我可以看到一个 docker 组存在:

less /etc/group | grep docker
=> docker:x:131:mark
Run Code Online (Sandbox Code Playgroud)

并且可以看到它拥有一个正在运行的套接字,错误消息指出:

ls -la /var/run/ | grep docker
=> 
drwx------  5 root                root                 120 May …
Run Code Online (Sandbox Code Playgroud)

linux ubuntu usergroups

17
推荐指数
2
解决办法
2万
查看次数

Ruby fog gem导致服务器无法运行:无法加载此类文件 - xmlrpc/client(LoadError)

正如标题所述,我正在尝试建立一个Ubuntu 16.04系统来处理rails应用程序.当我注释掉fog gem时,服务器在本地启动,并且在其中留下gem会产生下面的错误消息.谷歌搜索似乎没有提供任何东西,因为我找不到其他人与我有相同的错误,我不能简单地从应用程序中删除宝石,因为它是需要的.

完整信息如下:

/home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `require': cannot load such file -- xmlrpc/client (LoadError)
from /home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `block in require'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `require'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/fog-1.28.0/lib/fog/xenserver/core.rb:15:in `<class:Connection>'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/fog-1.28.0/lib/fog/xenserver/core.rb:14:in `<module:XenServer>'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/fog-1.28.0/lib/fog/xenserver/core.rb:5:in `<module:Fog>'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/fog-1.28.0/lib/fog/xenserver/core.rb:4:in `<top (required)>'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `require'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `block in require'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `require'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/fog-1.28.0/lib/fog/xenserver/compute.rb:1:in `<top (required)>'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `require'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `block in require'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `require'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/fog-1.28.0/lib/fog/xenserver.rb:1:in `<top (required)>'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `require'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `block in …
Run Code Online (Sandbox Code Playgroud)

ubuntu xml-rpc fog

15
推荐指数
1
解决办法
5555
查看次数

Rails - 无法安装RMagick 2.16.0.找不到MagickWand.h

我很欣赏这个问题之前已被问过多次,但是我已经尝试了所有可用的答案都无济于事.错误日志如下:

have_header: checking for wand/MagickWand.h... -------------------- no

"gcc -E -I/Users/mark/.rvm/rubies/ruby-2.3.3/include/ruby-2.3.0/x86_64-darwin16 -I/Users/mark/.rvm/rubies/ruby-2.3.3/include/ruby-2.3.0/ruby/backward -I/Users/mark/.rvm/rubies/ruby-2.3.3/include/ruby-2.3.0 -I.  -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/local/Cellar/imagemagick/7.0.4-8/include/ImageMagick-7  -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/local/Cellar/imagemagick/7.0.4-8/include/ImageMagick-7  conftest.c -o conftest.i"
conftest.c:3:10: fatal error: 'wand/MagickWand.h' file not found
#include <wand/MagickWand.h>
     ^
1 error generated.
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: #include <wand/MagickWand.h>
/* end */
Run Code Online (Sandbox Code Playgroud)

运行mdfind MagickWand.h之后我可以看到路径是:

/usr/local/Cellar/imagemagick/7.0.4-8/include/ImageMagick-7/MagickWand/MagickWand.h
Run Code Online (Sandbox Code Playgroud)

然后我跑:

C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/7.0.4-8/include/ImageMagick-7/MagickWand/ gem install rmagick
Run Code Online (Sandbox Code Playgroud)

但是获得与以前相同的消息.

任何有关如何解决这个问题的帮助非常感谢.

ruby-on-rails rmagick magickwand

13
推荐指数
3
解决办法
9591
查看次数

ElasticSearch - 格式错误的查询(RoR)

我正在尝试使用elasticsearch和ruby-on-rails建立现有项目.我可以启动并运行该项目,但elasticsearch查询会为我返回各种错误消息,而我的同事都没有:

[400] {"error":{"root_cause":[{"type":"parsing_exception","reason":"[and] query malformed, no start_object after query name","line":1,"col":896}],"type":"parsing_exception","reason":"[and] query malformed, no start_object after query name","line":1,"col":896},"status":400}
Run Code Online (Sandbox Code Playgroud)

这显然让我相信它与我的设置有关.我已经安装了它们的相同版本(2.4),但是即使是随项目提供的setup命令:

rake environment elasticsearch:import:all DIR=app/models FORCE=y
Run Code Online (Sandbox Code Playgroud)

给我一个超时错误.我已经检查过,服务正在运行.任何关于我的设置可能出错的帮助都会非常感激,因为我已经死了2天了.

提前致谢.

编辑:我认为问题不在于查询本身,因为这适用于我的同事,但它如下:

{: date_range => {: from => Mon,
    01 Aug 2016 00: 00: 00 UTC + 00: 00,
    : to => Mon,
    31 Jul 2017 00: 00: 00 UTC + 00: 00
  }, : activities_only => nil
}, @pupils = [# < Pupil id: 1042, first_name: "Mark", last_name: "Mekhaiel", date_of_birth: "2017-03-19", level: 0, group_id: 95, …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails elasticsearch

10
推荐指数
1
解决办法
484
查看次数

Rails - Rubocop - 开始 + 救援语法

我有以下代码:

  def payload
    begin
      @payload ||= Warden::JWTAuth::TokenDecoder.new.call(token)
    rescue JWT::ExpiredSignature => e
      Rollbar.warning(e)
    end
  end
Run Code Online (Sandbox Code Playgroud)

通过对一些博客的简要阅读,我应该像上面一样使用开始救援和结束来处理错误,但是我收到了一个多余的“开始”rubocop 警告。

仅在指定可能导致较大块内错误的代码位时才使用 begin 吗?因此它在这里是多余的吗?

提前致谢

编辑:如果我不需要它,它是否写为

  def payload
    @payload ||= Warden::JWTAuth::TokenDecoder.new.call(token)
  rescue JWT::ExpiredSignature => e
    Rollbar.warning(e)
  end
Run Code Online (Sandbox Code Playgroud)

?

ruby ruby-on-rails rubocop

9
推荐指数
2
解决办法
2003
查看次数

将数组插入另一个第n个元素中

我有2个数组:

['a', 'b', 'c', 'd', 'e', 'f']
['g', 'h', 'i']
Run Code Online (Sandbox Code Playgroud)

我需要在第一个数组的每个第二个元素(或第n个)之后插入第二个数组的元素,从而导致:

['a', 'b', 'g', 'c', 'd', 'h', 'e', 'f', 'i']
Run Code Online (Sandbox Code Playgroud)

我有一个简单的方法吗?

ruby ruby-on-rails

2
推荐指数
2
解决办法
517
查看次数

RSpec - 存根类方法

我在项目中间添加了以下方法:

def finishes_after_venue_shuts?
  return unless venue && finish
  day = regular_day ? regular_day : start.strftime('%a').downcase
  finish > venue.openingtimes.where(default_day: day).pluck(:finish)[0]
end
Run Code Online (Sandbox Code Playgroud)

这导致1000多个测试在项目中失败.他们失败了以下错误代码:

ArgumentError:
  comparison of ActiveSupport::TimeWithZone with nil failed
Run Code Online (Sandbox Code Playgroud)

我试图将方法存根如下,但显然做错了:

before do
  allow(Event.any_instance).to receive(:finishes_after_venue_shuts?).and_return(false)
end
Run Code Online (Sandbox Code Playgroud)

用于存根方法并简单地返回false而不是执行代码的正确语法是什么?

提前致谢.

ruby rspec ruby-on-rails mocking

2
推荐指数
1
解决办法
1219
查看次数

Ruby - 用数组的顺序元素替换字符串中的字符

我有一个字符串:

a = 'bla \n bla \n bla \n'
Run Code Online (Sandbox Code Playgroud)

还有一个数组:

b = ['1', '2', '3']
Run Code Online (Sandbox Code Playgroud)

我想搜索字符串,并用数组中的第(n-1)个元素替换\n的每个第n个实例,结果是:

a = 'bla 1 bla 2 bla 3'
Run Code Online (Sandbox Code Playgroud)

这对我来说最简单的方法是什么?

ruby ruby-on-rails

1
推荐指数
1
解决办法
57
查看次数

Rails - 服务器在没有预期的情况下从params中删除空格

问题如上 - 我有一个表格输入:

<%= f.input :ticket_book_number,
label: "<abbr title='required'>*</abbr> Ticket book number".html_safe,
input_html: { data: { behaviour: 'check-ticket-book-number', url: verify_booking_system_ticket_books_path, agent: resource.agent.id },
error: 'asd' } %>
Run Code Online (Sandbox Code Playgroud)

当我输入票号为'12345'并且末尾有一个空格,并在我的控制器动作中粘贴一个binding.pry时,我的参数通过:

Parameters: {"agent"=>"352", "ticket"=>"12345"}
Run Code Online (Sandbox Code Playgroud)

有什么办法可以在输入中指定包含空格吗?

提前致谢

ruby parameters ruby-on-rails

1
推荐指数
1
解决办法
54
查看次数