Rome icon indicating copy to clipboard operation
Rome copied to clipboard

Getting 'no implicit conversion of Pathname into String' error

Open ExoticObjects opened this issue 8 years ago • 5 comments

Here's the bug output:

Command

/Users/****/.rvm/rubies/ruby-2.2.1/bin/pod install --verbose

Report

  • What did you do?
  • What did you expect to happen?
  • What happened instead?

Stack

   CocoaPods : 0.39.0
        Ruby : ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-darwin14]
    RubyGems : 2.4.6
        Host : Mac OS X 10.11.2 (15C50)
       Xcode : 7.3 (7D111g)
         Git : git version 2.6.3 (Apple Git-62)
Ruby lib dir : /Users/****/.rvm/rubies/ruby-2.2.1/lib
Repositories : ...private...
               master - https://github.com/CocoaPods/Specs.git @ 3cbaaf5c935cebd5415bc8ee8278b43de1734d2d

Plugins

cocoapods-plugins : 0.4.2
cocoapods-rome    : 0.4.2
cocoapods-search  : 0.1.0
cocoapods-stats   : 0.6.2
cocoapods-trunk   : 0.6.4
cocoapods-try     : 0.5.1

Error

TypeError - no implicit conversion of Pathname into String
/Users/****/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/fileutils.rb:521:in `initialize'
/Users/****/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/fileutils.rb:521:in `exception'
/Users/****/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/fileutils.rb:521:in `raise'
/Users/****/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/fileutils.rb:521:in `block in mv'
/Users/****/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/fileutils.rb:1570:in `block in fu_each_src_dest'
/Users/****/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/fileutils.rb:1584:in `fu_each_src_dest0'
/Users/****/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/fileutils.rb:1568:in `fu_each_src_dest'
/Users/****/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/fileutils.rb:516:in `mv'
/Users/****/.rvm/gems/ruby-2.2.1/gems/cocoapods-rome-0.4.2/lib/cocoapods-rome/post_install.rb:28:in `block in build_for_iosish_platform'
/Users/****/.rvm/gems/ruby-2.2.1/gems/cocoapods-rome-0.4.2/lib/cocoapods-rome/post_install.rb:16:in `each'
/Users/****/.rvm/gems/ruby-2.2.1/gems/cocoapods-rome-0.4.2/lib/cocoapods-rome/post_install.rb:16:in `build_for_iosish_platform'
/Users/****/.rvm/gems/ruby-2.2.1/gems/cocoapods-rome-0.4.2/lib/cocoapods-rome/post_install.rb:55:in `block (3 levels) in <top (required)>'
/Users/****/.rvm/gems/ruby-2.2.1/gems/cocoapods-rome-0.4.2/lib/cocoapods-rome/post_install.rb:53:in `each'
/Users/****/.rvm/gems/ruby-2.2.1/gems/cocoapods-rome-0.4.2/lib/cocoapods-rome/post_install.rb:53:in `block (2 levels) in <top (required)>'
/Users/****/.rvm/gems/ruby-2.2.1/gems/cocoapods-rome-0.4.2/lib/cocoapods-rome/post_install.rb:51:in `chdir'
/Users/****/.rvm/gems/ruby-2.2.1/gems/cocoapods-rome-0.4.2/lib/cocoapods-rome/post_install.rb:51:in `block in <top (required)>'
/Users/****/.rvm/gems/ruby-2.2.1@global/gems/cocoapods-0.39.0/lib/cocoapods/hooks_manager.rb:119:in `call'
/Users/****/.rvm/gems/ruby-2.2.1@global/gems/cocoapods-0.39.0/lib/cocoapods/hooks_manager.rb:119:in `block (3 levels) in run'
/Users/****/.rvm/gems/ruby-2.2.1@global/gems/cocoapods-0.39.0/lib/cocoapods/user_interface.rb:140:in `message'
/Users/****/.rvm/gems/ruby-2.2.1@global/gems/cocoapods-0.39.0/lib/cocoapods/hooks_manager.rb:111:in `block (2 levels) in run'
/Users/****/.rvm/gems/ruby-2.2.1@global/gems/cocoapods-0.39.0/lib/cocoapods/hooks_manager.rb:109:in `each'
/Users/****/.rvm/gems/ruby-2.2.1@global/gems/cocoapods-0.39.0/lib/cocoapods/hooks_manager.rb:109:in `block in run'
/Users/****/.rvm/gems/ruby-2.2.1@global/gems/cocoapods-0.39.0/lib/cocoapods/user_interface.rb:140:in `message'
/Users/****/.rvm/gems/ruby-2.2.1@global/gems/cocoapods-0.39.0/lib/cocoapods/hooks_manager.rb:108:in `run'
/Users/****/.rvm/gems/ruby-2.2.1@global/gems/cocoapods-0.39.0/lib/cocoapods/installer.rb:481:in `run_plugins_post_install_hooks'
/Users/****/.rvm/gems/ruby-2.2.1@global/gems/cocoapods-0.39.0/lib/cocoapods/installer.rb:462:in `perform_post_install_actions'
/Users/****/.rvm/gems/ruby-2.2.1@global/gems/cocoapods-0.39.0/lib/cocoapods/installer.rb:113:in `install!'
/Users/****/.rvm/gems/ruby-2.2.1@global/gems/cocoapods-0.39.0/lib/cocoapods/command/project.rb:71:in `run_install_with_update'
/Users/****/.rvm/gems/ruby-2.2.1@global/gems/cocoapods-0.39.0/lib/cocoapods/command/project.rb:101:in `run'
/Users/****/.rvm/gems/ruby-2.2.1@global/gems/claide-0.9.1/lib/claide/command.rb:312:in `run'
/Users/****/.rvm/gems/ruby-2.2.1@global/gems/cocoapods-0.39.0/lib/cocoapods/command.rb:47:in `run'
/Users/****/.rvm/gems/ruby-2.2.1@global/gems/cocoapods-0.39.0/bin/pod:44:in `<top (required)>'
/Users/****/.rvm/rubies/ruby-2.2.1/bin/pod:23:in `load'
/Users/****/.rvm/rubies/ruby-2.2.1/bin/pod:23:in `<main>'
/Users/****/.rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `eval'
/Users/****/.rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `<main>'

I'll try to recreate the issue in a project that I can share with you. What's odd is that this worked the other day... Not sure what pathname is attempting to implicitly be converted into a string, as the error doesn't say :-(

ExoticObjects avatar Feb 03 '16 19:02 ExoticObjects

So, Rome is actually creating the frameworks - they end up in a 'build' folder in the same directory as the Podfile. Framework compilation succeeds. Something goes wrong after that...

This is happening when compiling a large project, and I can't recreate it in a simpler test case. Do the error messages tell you anything meaningful? I'm not sure how to proceed.

ExoticObjects avatar Feb 10 '16 19:02 ExoticObjects

I was able to recreate this with a simple project and podspec.

Here's the project that contains the podfile: https://github.com/ExoticObjects/test_use_frameworks_2

and the local development pod that contains the podspec: https://github.com/ExoticObjects/test_pod_2

podspec:

Pod::Spec.new do |s| 

  s.name             = "test_pod_2"
  s.version          = "0.1.0"
  s.summary          = "A summary goes here" 
  s.description      = "Pod description. It's a pod"
  s.homepage         = "https://github.com/ExoticObjects/test_cocoapods_use_frameworks_2"
  s.license          = 'MIT'
  s.author           = { "Blah" => "[email protected]" }
  s.platform         = :ios, '9.0'
  s.source           = {:git => "https://github.com/ExoticObjects/test_cocoapods_use_frameworks_2.git"}
  s.requires_arc     = true
  s.source_files     = 'Pod/Classes/**/*'
  s.dependency 'STHTTPRequest', '1.0.2'
  s.dependency 'SDWebImage'
  s.dependency 'Socket.IO-Client-Swift', '5.3.1'
end

Podfile

platform :ios, '9.0'
use_frameworks!
plugin 'cocoapods-rome'

def common_pods_for_target
    pod 'test_pod_2', :path => '../test_pod_2'
end

target :test_use_frameworks_2 do
  common_pods_for_target
end

target :test_use_frameworks_2UITests do
  common_pods_for_target
end

ExoticObjects avatar Feb 22 '16 19:02 ExoticObjects

I am facing the same error for pod install. Any update on this ??

Pinwheelai avatar Feb 08 '17 22:02 Pinwheelai

@PinwheelAi could you please file a new issue with more details?

endocrimes avatar Feb 08 '17 22:02 endocrimes

Is this still an issue?

jugutier avatar May 24 '18 01:05 jugutier