Gem 安装的参数数量错误(给定 4,预期 1)

p0n*_*0ny 7 ruby rubygems bundler

当我运行时bundle,我得到以下信息:

-bash: bundle: command not found
Run Code Online (Sandbox Code Playgroud)

我不是 ruby​​ 开发人员,但似乎我需要捆绑器来运行其他人编写的一些软件。因此,我尝试使用 来获取捆绑程序gem install bundler,但出现以下错误:

ERROR:  While executing gem ... (ArgumentError)
    wrong number of arguments (given 4, expected 1)
Run Code Online (Sandbox Code Playgroud)

使用--backtrace

ERROR:  While executing gem ... (ArgumentError)
    wrong number of arguments (given 4, expected 1)
        /var/lib/gems/2.5.0/gems/psych-4.0.1/lib/psych.rb:323:in `safe_load'
        /usr/lib/ruby/2.5.0/rubygems/safe_yaml.rb:31:in `safe_load'
        /usr/lib/ruby/2.5.0/rubygems/package.rb:496:in `block (2 levels) in read_checksums'
        /usr/lib/ruby/2.5.0/rubygems/package.rb:495:in `wrap'
        /usr/lib/ruby/2.5.0/rubygems/package.rb:495:in `block in read_checksums'
        /usr/lib/ruby/2.5.0/rubygems/package/tar_reader.rb:116:in `seek'
        /usr/lib/ruby/2.5.0/rubygems/package.rb:494:in `read_checksums'
        /usr/lib/ruby/2.5.0/rubygems/package.rb:547:in `block (2 levels) in verify'
        /usr/lib/ruby/2.5.0/rubygems/package/tar_reader.rb:29:in `new'
        /usr/lib/ruby/2.5.0/rubygems/package.rb:546:in `block in verify'
        /usr/lib/ruby/2.5.0/rubygems/package/file_source.rb:30:in `open'
        /usr/lib/ruby/2.5.0/rubygems/package/file_source.rb:30:in `with_read_io'
        /usr/lib/ruby/2.5.0/rubygems/package.rb:545:in `verify'
        /usr/lib/ruby/2.5.0/rubygems/package.rb:526:in `spec'
        /usr/lib/ruby/2.5.0/rubygems/source/local.rb:49:in `block in load_specs'
        /usr/lib/ruby/2.5.0/rubygems/source/local.rb:43:in `each'
        /usr/lib/ruby/2.5.0/rubygems/source/local.rb:43:in `load_specs'
        /usr/lib/ruby/2.5.0/rubygems/source/local.rb:83:in `find_gem'
        /usr/lib/ruby/2.5.0/rubygems/resolver/installer_set.rb:141:in `find_all'
        /usr/lib/ruby/2.5.0/rubygems/resolver/installer_set.rb:56:in `add_always_install'
        /usr/lib/ruby/2.5.0/rubygems/dependency_installer.rb:478:in `resolve_dependencies'
        /usr/lib/ruby/2.5.0/rubygems/commands/install_command.rb:194:in `install_gem'
        /usr/lib/ruby/2.5.0/rubygems/commands/install_command.rb:255:in `block in install_gems'
        /usr/lib/ruby/2.5.0/rubygems/commands/install_command.rb:251:in `each'
        /usr/lib/ruby/2.5.0/rubygems/commands/install_command.rb:251:in `install_gems'
        /usr/lib/ruby/2.5.0/rubygems/commands/install_command.rb:158:in `execute'
        /usr/lib/ruby/2.5.0/rubygems/command.rb:313:in `invoke_with_build_args'
        /usr/lib/ruby/2.5.0/rubygems/command_manager.rb:173:in `process_args'
        /usr/lib/ruby/2.5.0/rubygems/command_manager.rb:143:in `run'
        /usr/lib/ruby/2.5.0/rubygems/gem_runner.rb:59:in `run'
        /usr/bin/gem:21:in `<main>'
Run Code Online (Sandbox Code Playgroud)
  • 红宝石版本: ruby 2.5.5p157 (2019-03-15 revision 67260) [arm-linux-gnueabihf].
  • 宝石版本:2.7.6.2
  • 我使用的是 raspbian linux。

stw*_*ert 5

心灵宝石是我的案子的罪魁祸首;在运行任何捆绑器/gem 命令之前卸载 psych 为我修复了这个问题:

前:

$ bundle update rails
[SNIP]
ArgumentError: wrong number of arguments (given 4, expected 1)
An error occurred while installing activesupport (6.0.4.1), and Bundler cannot continue.
Make sure that `gem install activesupport -v '6.0.4.1' --source 'https://rubygems.org/'` succeeds before bundling.


$ gem install activesupport -v '6.0.4.1' --source 'https://rubygems.org/' --backtrace
ERROR:  While executing gem ... (ArgumentError)
    wrong number of arguments (given 4, expected 1)
        /home/local/PDC01/swi/.asdf/installs/ruby/2.5.3/lib/ruby/gems/2.5.0/gems/psych-4.0.1/lib/psych.rb:323:in `safe_load'
        /home/local/PDC01/swi/.asdf/installs/ruby/2.5.3/lib/ruby/2.5.0/rubygems/safe_yaml.rb:31:in `safe_load'
[SNIP]
Run Code Online (Sandbox Code Playgroud)

使固定:

$ gem uninstall psych

Select gem to uninstall:
 1. psych-3.3.0
 2. psych-4.0.1
 3. All versions
> 3
Run Code Online (Sandbox Code Playgroud)

后:

...

$ gem install activesupport -v '6.0.4.1' --source 'https://rubygems.org/' 

Successfully installed activesupport-6.0.4.1
Parsing documentation for activesupport-6.0.4.1

Run Code Online (Sandbox Code Playgroud)