env: ruby\r: No such file or directory

后端 未结 4 736
失恋的感觉
失恋的感觉 2021-02-08 15:52

I have Rails project. When I try to run any rake task or rails server it give me this error

env: ruby\\r: No such file or directory

4条回答
  •  长发绾君心
    2021-02-08 16:20

    I kept getting this error and finally figured out how to fix it.

    1. I made sure all the permissions on the files in my bin folder were executable.

    Run ls -lha in your current repository. You want each file to have an x at the end like this

    -rwxr-xr-x.

    To achieve this, you will want to run chmod +x for each file in your bin folder, such as chmod +x rails, chmod +x bundle, etc.

    Now when you run ls -lha you should see that they all have an x at the end.

    1. Next, either in SublimeText, Atom or what ever text editor you have, you will want to check that you are not using Windows line endings. The \r character is something Windows uses. Unix just uses \n for a new line.

    I use Atom so I went to the plugins section (Cmd + , on Mac) and then searched for line-ending-selector in the Packages section, and then went to the line-ending-selectors settings. Change your default to 'LF'.

    You will find that at the bottom of files, Atom will tell you the type of line ending the file is using with a CRLF for Windows and LF for Unix/Mac. You want all your files to use 'LF'.

    So in your terminal, open each file in your bin folder in Atom, by running atom ./bin/filename (such as atom ./bin/rake).

    At the bottom you will see 'CRLF' or 'LF'. If you see 'CRLF', click on it and, at the top of Atom, you can choose 'LF'.

    Cmd + s to save.

    Do this for each. You are basically telling your file to strip all Windows line endings and use Unix line endings instead.

    Once all files are edited, you should be able to run your rake or rails command.

    Note: Sublime Text and Text Mate should have equivalents to Atom's line-ending-selector.

提交回复
热议问题