Test Kitchen | $'\r': command not found


I have been struggling to get my kitchen converge to work. It is failing with this error -

kitchen converge
-----> Starting Kitchen (v1.13.0)
-----> Converging <default-centos-72>...
       Preparing files for transfer
       Preparing dna.json
       Resolving cookbook dependencies with Berkshelf 5.1.0...
       Removing non-cookbook files before transfer
       Preparing validation.pem
       Preparing client.rb
       sh: line 9: $'\r': command not found
       sh: line 10: $'\r': command not found
       sh: -c: line 12: syntax error near unexpected token `$'{\r''
'      sh: -c: line 12: `capture_tmp_stderr() {

My .kitchen.yml file is as follows -

name: docker
use_sudo: false

  name: chef_zero

  - name: centos-7.2

  - name: default
      - recipe[nginxMyCompany::default]

When I execute kitchen converge -l debug, it does spit out a lot of debug level logs, but not something which helps understand the root cause.

I tried searching for this error on the Internet, and get pointers to check for windows-line endings. I am on a mac. I checked the ‘.kitchen.yml’ file - which seems to be fine in that aspect.

What am I missing? What could be causing this error?

This was due to mixlib-install 1.2.1 being released yesterday with carriage returns in the installer.sh file. (my fault entirely). I have added a gitattributes file to that repo to protect against that from happening in the future and have released a 1.2.2 and confirmed line endings are good. 1.2.1 has been yanked.

My sincerest apologies for this.

Thanks Matt. I updated the gem and am unblocked now.