我在ruby 2.2.5 / gem 2.3.0
安装了CygWin
,但在使用gem install
时出现安装错误。
正如在某些地方所建议的那样,我也试过了gem update --system
,但即使这样也无济于事。
如何解决此问题?
我附上了我运行的命令的输出:
$ gem install napa --backtrace
ERROR: While executing gem ... (TypeError)
no implicit conversion of nil into String
/usr/local/share/ruby/site_ruby/rubygems/installer.rb:168:in `check_executable_overwrite'
/usr/local/share/ruby/site_ruby/rubygems/installer.rb:409:in `block in generate_bin'
/usr/local/share/ruby/site_ruby/rubygems/installer.rb:396:in `each'
/usr/local/share/ruby/site_ruby/rubygems/installer.rb:396:in `generate_bin'
/usr/local/share/ruby/site_ruby/rubygems/installer.rb:236:in `install'
/usr/local/share/ruby/site_ruby/rubygems/request_set.rb:156:in `block in install'
/usr/local/share/ruby/site_ruby/rubygems/request_set.rb:140:in `each'
/usr/local/share/ruby/site_ruby/rubygems/request_set.rb:140:in `install'
/usr/local/share/ruby/site_ruby/rubygems/commands/install_command.rb:249:in `install_gem'
/usr/local/share/ruby/site_ruby/rubygems/commands/install_command.rb:291:in `block in install_gems'
/usr/local/share/ruby/site_ruby/rubygems/commands/install_command.rb:287:in `each'
/usr/local/share/ruby/site_ruby/rubygems/commands/install_command.rb:287:in `install_gems'
/usr/local/share/ruby/site_ruby/rubygems/commands/install_command.rb:202:in `execute'
/usr/local/share/ruby/site_ruby/rubygems/command.rb:307:in `invoke_with_build_args'
/usr/local/share/ruby/site_ruby/rubygems/command_manager.rb:167:in `process_args'
/usr/local/share/ruby/site_ruby/rubygems/command_manager.rb:137:in `run'
/usr/local/share/ruby/site_ruby/rubygems/gem_runner.rb:54:in `run'
/usr/bin/gem:21:in `<main>'
$ gem update --system
Updating rubygems-update
ERROR: While executing gem ... (TypeError)
no implicit conversion of nil into String
答案 0 :(得分:2)
跳到最底层以获得简短的回答,而不是加入我的旅程 所以今天我一直在研究这个问题,因为对于我来说,去年开展工作的工作今年没有成功。使用管理员权限时尝试所有步骤。我从其他线程做了一些有问题的命令,要求我将gem降级到6年前的东西,不要这样做我无法弄清楚如何恢复所以我删除了我的Cygwin安装并开始为此清新干净。 Windows 10是我的操作系统。
我使用cygwin的安装程序来安装当前版本的ruby,gem和sass。 (随着时间的推移,我很肯定这些数字会变得过时。)
旁注我倾向于在View下拉列表中使用'Category'并选择devel类别。我也让cygwin自动为我选择依赖项。
此时我遇到了同样的错误。看着输出提供的日志,我决定尝试一些在那里被破坏的命令,如'gcc',这是没有的。再次加载cygwin安装程序,安装 gcc版本5.4.0 (包名为gcc-core:GNU编译器集合(C,OpenMP))
试图再次运行'gem install compass',另一个错误,它找不到'make'。 再次预热安装程序并找到'make:'make'实用程序的GNU版本(4.2.1-2)
再次运行compass install命令并检查日志:'libffi'看起来不像那里。在我们的cygwin安装程序中说libs类别下我已经有了libffi6 v2.2.1-2。我要给libffi-devel打一针,因为我迫切希望安装罗盘。
这很有效!导航到您的目录并运行命令'compass watch'我非常兴奋。在命令行中运行'compass -v'向我们显示版本1.0.3
简答: 使用Cygwin安装程序安装以下软件包
然后以管理员身份运行cygwin并输入命令'gem install compass'。