I’m deploying a Meteor app that works fine on my Windows 10 desktop but the verification step of mup deploy to Ubuntu is failing. The following is in the logs:
> [192.241.229.15]npm ERR! npm v3.10.10
> [192.241.229.15]npm ERR! path /bundle/bundle/programs/server/npm/node_modules/sshpk/bin\sshpk-conv
> [192.241.229.15]npm ERR! code ENOENT
> [192.241.229.15]npm ERR! errno -2
> [192.241.229.15]npm ERR! syscall chmod
> [192.241.229.15]
> [192.241.229.15]npm ERR! enoent ENOENT: no such file or directory, chmod '/bundle/bundle/programs/server/npm/node_modules/sshpk/bin\sshpk-conv'
> [192.241.229.15]npm ERR! enoent ENOENT: no such file or directory, chmod '/bundle/bundle/programs/server/npm/node_modules/sshpk/bin\sshpk-conv'
The problem appears to be the embedded backslash character before sshpk-conv. I don’t know where that backslash is coming from (mup or npm?). But I do know that sshpk is required by http-signature which is required by request. All 3 are in the meteor bundle as well as in the global namespace on the target host.
Anyone know where that path name is constructed? I thought it might be a bug in the package.json of either request or http-signature but I can’t see anything wrong.