joeyates / imap-backup

Backup and Migrate IMAP Email Accounts
MIT License
1.33k stars 74 forks source link

`local_path': undefined method `gsub' for nil:NilClass (NoMethodError) #126

Closed dlaporte closed 1 year ago

dlaporte commented 1 year ago

Hello,

I have installed imap-backup on both a Ubuntu and MacOS system (using homebrew) and receive the following error when running "imap-backup setup" immediately after entering an email address. Versions of Ruby on each system are:

$ ruby -v ruby 2.6.8p205 (2021-07-07 revision 67951) [universal.arm64e-darwin21]

and

$ ruby -v ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]

I have near-zero Ruby experience, so apologies if this is a simple issue. Thank you for any assistance.

Traceback (most recent call last): 34: from /usr/local/bin/imap-backup:23:in <main>' 33: from /usr/local/bin/imap-backup:23:inload' 32: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/bin/imap-backup:13:in <top (required)>' 31: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/logger.rb:29:insanitize_stderr' 30: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/bin/imap-backup:14:in block in <top (required)>' 29: from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor/base.rb:485:instart' 28: from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor.rb:392:in dispatch' 27: from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:ininvoke_command' 26: from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor/command.rb:27:in run' 25: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/cli.rb:129:insetup' 24: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/cli/setup.rb:11:in run' 23: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup.rb:15:inrun' 22: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup.rb:15:in catch' 21: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup.rb:16:inblock in run' 20: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup.rb:16:in loop' 19: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup.rb:18:inblock (2 levels) in run' 18: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup.rb:26:in show_menu' 17: from /var/lib/gems/2.7.0/gems/highline-2.0.3/lib/highline.rb:277:inchoose' 16: from /var/lib/gems/2.7.0/gems/highline-2.0.3/lib/highline/menu.rb:415:in select' 15: from /var/lib/gems/2.7.0/gems/highline-2.0.3/lib/highline/menu.rb:449:invalue_for_selected_item' 14: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup.rb:62:in block in add_account_item' 13: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup.rb:97:inedit_account' 12: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account.rb:20:in run' 11: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account.rb:20:incatch' 10: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account.rb:21:in block in run' 9: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account.rb:21:inloop' 8: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account.rb:23:in block (2 levels) in run' 7: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account.rb:31:increate_menu' 6: from /var/lib/gems/2.7.0/gems/highline-2.0.3/lib/highline.rb:246:in choose' 5: from /var/lib/gems/2.7.0/gems/highline-2.0.3/lib/highline.rb:246:innew' 4: from /var/lib/gems/2.7.0/gems/highline-2.0.3/lib/highline/menu.rb:83:in initialize' 3: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account.rb:32:inblock in create_menu' 2: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account.rb:49:in header' 1: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account/header.rb:22:inrun' /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account/header.rb:78:in local_path': undefined methodgsub' for nil:NilClass (NoMethodError)

joeyates commented 1 year ago

Hi David,

I'll have a look asap.

On Wed, 17 Aug 2022, 19:06 David LaPorte, @.***> wrote:

Hello,

I have installed imap-backup on both a Ubuntu and MacOS system (using homebrew) and receive the following error when running "imap-backup setup" immediately after entering an email address. Versions of Ruby on each system are:

$ ruby -v ruby 2.6.8p205 (2021-07-07 revision 67951) [universal.arm64e-darwin21]

and

$ ruby -v ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]

I have near-zero Ruby experience, so apologies if this is a simple issue. Thank you for any assistance.

Traceback (most recent call last): 34: from /usr/local/bin/imap-backup:23:in

' 33: from /usr/local/bin/imap-backup:23:in load' 32: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/bin/imap-backup:13:in <top (required)>' 31: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/logger.rb:29:in sanitize_stderr' 30: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/bin/imap-backup:14:in block in <top (required)>' 29: from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor/base.rb:485:in start' 28: from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor.rb:392:in dispatch' 27: from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in invoke_command' 26: from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor/command.rb:27:in run' 25: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/cli.rb:129:in setup' 24: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/cli/setup.rb:11:in run' 23: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup.rb:15:in run' 22: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup.rb:15:in catch' 21: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup.rb:16:in block in run' 20: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup.rb:16:in loop' 19: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup.rb:18:in block (2 levels) in run' 18: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup.rb:26:in show_menu' 17: from /var/lib/gems/2.7.0/gems/highline-2.0.3/lib/highline.rb:277:in choose' 16: from /var/lib/gems/2.7.0/gems/highline-2.0.3/lib/highline/menu.rb:415:in select' 15: from /var/lib/gems/2.7.0/gems/highline-2.0.3/lib/highline/menu.rb:449:in value_for_selected_item' 14: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup.rb:62:in block in add_account_item' 13: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup.rb:97:in edit_account' 12: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account.rb:20:in run' 11: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account.rb:20:in catch' 10: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account.rb:21:in block in run' 9: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account.rb:21:in loop' 8: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account.rb:23:in block (2 levels) in run' 7: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account.rb:31:in create_menu' 6: from /var/lib/gems/2.7.0/gems/highline-2.0.3/lib/highline.rb:246:in choose' 5: from /var/lib/gems/2.7.0/gems/highline-2.0.3/lib/highline.rb:246:in new' 4: from /var/lib/gems/2.7.0/gems/highline-2.0.3/lib/highline/menu.rb:83:in initialize' 3: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account.rb:32:in block in create_menu' 2: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account.rb:49:in header' 1: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account/header.rb:22:in run' /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account/header.rb:78:in local_path': undefined method gsub' for nil:NilClass (NoMethodError)

— Reply to this email directly, view it on GitHub https://github.com/joeyates/imap-backup/issues/126, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABBU3XM3XRFHX4UMRG3QOTVZUS27ANCNFSM562OKHYA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

DocCyblade commented 1 year ago

I have gotten the same issue on Debian Bullseye (5.10.0-14-amd64)


ruby -v
ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x86_64-linux-gnu]

Traceback (most recent call last):
        34: from /usr/local/bin/imap-backup:23:in `<main>'
        33: from /usr/local/bin/imap-backup:23:in `load'
        32: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/bin/imap-backup:13:in `<top (required)>'
        31: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/logger.rb:29:in `sanitize_stderr'
        30: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/bin/imap-backup:14:in `block in <top (required)>'
        29: from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor/base.rb:485:in `start'
        28: from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
        27: from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
        26: from /var/lib/gems/2.7.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
        25: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/cli.rb:129:in `setup'
        24: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/cli/setup.rb:11:in `run'
        23: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup.rb:15:in `run'
        22: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup.rb:15:in `catch'
        21: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup.rb:16:in `block in run'
        20: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup.rb:16:in `loop'
        19: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup.rb:18:in `block (2 levels) in run'
        18: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup.rb:26:in `show_menu'
        17: from /var/lib/gems/2.7.0/gems/highline-2.0.3/lib/highline.rb:277:in `choose'
        16: from /var/lib/gems/2.7.0/gems/highline-2.0.3/lib/highline/menu.rb:415:in `select'
        15: from /var/lib/gems/2.7.0/gems/highline-2.0.3/lib/highline/menu.rb:449:in `value_for_selected_item'
        14: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup.rb:62:in `block in add_account_item'
        13: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup.rb:97:in `edit_account'
        12: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account.rb:20:in `run'
        11: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account.rb:20:in `catch'
        10: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account.rb:21:in `block in run'
         9: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account.rb:21:in `loop'
         8: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account.rb:23:in `block (2 levels) in run'
         7: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account.rb:31:in `create_menu'
         6: from /var/lib/gems/2.7.0/gems/highline-2.0.3/lib/highline.rb:246:in `choose'
         5: from /var/lib/gems/2.7.0/gems/highline-2.0.3/lib/highline.rb:246:in `new'
         4: from /var/lib/gems/2.7.0/gems/highline-2.0.3/lib/highline/menu.rb:83:in `initialize'
         3: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account.rb:32:in `block in create_menu'
         2: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account.rb:49:in `header'
         1: from /var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account/header.rb:22:in `run'
/var/lib/gems/2.7.0/gems/imap-backup-6.2.1/lib/imap/backup/setup/account/header.rb:78:in `local_path': undefined method `gsub' for nil:NilClass (NoMethodError)
`
DocCyblade commented 1 year ago

An update, I tried to install diff version of the gem and found that the error starts at version 6.1.0, using anything before that I do not get that error

jaccorens commented 1 year ago

I can confirm that the issue is not present in version 6.0.1 (gem install 'imap-backup' -v 6.0.1), but is present in 6.1.0 and 6.2.1

ruby -v
ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [arm-linux-gnueabihf]

uname -a
Linux raspberrypi 5.15.56-v7l+ #1575 SMP Fri Jul 22 20:29:46 BST 2022 armv7l GNU/Linux
dlaporte commented 1 year ago

I can also confirm

From: Jacco Rens @.> Date: Friday, August 26, 2022 at 12:18 To: joeyates/imap-backup @.> Cc: David LaPorte @.>, Author @.> Subject: Re: [joeyates/imap-backup] local_path': undefined methodgsub' for nil:NilClass (NoMethodError) (Issue #126)

I can confirm that the issue is not present in version 6.0.1 (gem install 'imap-backup' -v 6.0.1), but is present in 6.1.0 and 6.2.1

ruby -v

ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [arm-linux-gnueabihf]

uname -a

Linux raspberrypi 5.15.56-v7l+ #1575 SMP Fri Jul 22 20:29:46 BST 2022 armv7l GNU/Linux

— Reply to this email directly, view it on GitHubhttps://github.com/joeyates/imap-backup/issues/126#issuecomment-1228688231, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AALZX4JJATFC2PFGPIUCHO3V3DU6RANCNFSM562OKHYA. You are receiving this because you authored the thread.Message ID: @.***>

joeyates commented 1 year ago

Thank you all for your reports.

I've pushed the fix for this as version 6.3.0.