I develop on windows and so the line endings are dos based (crlf) but the file to run your app as stored in the bin folder needs to have unix line endings (lf) for it to run on a mac or nix systems.
i save code in git and github with unix line endings turned on in the repository but on my working directory the file system is dos line endings. So when i publish using 'npm publish' the file in my bin is published with dos line endings.
this means that when you do an npm install -g on a mac or linux you get the error
env: node\r: No such file or directory
To fix this i developed a little batch script that i use to do the publishing of new versions its really simple and will change the line endings just before publishing.
dos2unix --d2u bin\jshintRunner
npm publish
it uses the built in dos2unix (im running windows 8 ultimate) to change the line endings. I hope this helps someone else out with a similar issue.
Link to the project on github : https://github.com/DamianStanger/jshintRunner and on npm https://npmjs.org/package/jshintrunner
No comments:
Post a Comment