Meteor failed on npm shrinkwrap

Can’t use serialport npm module with meteorhacks:npm.
steps to reproduce:

meteor create serialport-test2
cd serialport-test2
meteor add meteorhacks:npm
echo '{"serialport":"1.6.3"}' > packages.json
meteor # setup meteorhacks:npm, then meteor again

I’m thinking it’s because there are dashes in the dependencies, and when npm shrinkwrap encounters dashes, it thinks the version is a pre-release and doesn’t allow this.
Now, it’s weird, 'cause npm shrinkwrap works if you don’t use meteor and just install it all by itself, but meteor, for some reason, makes serialport use node-gyp 0.5.9 which has pre-releases in it’s package.json (serialport specifices a 0.6.x dependency on node-gyp), so everything is weird!

Anybody knows how to solve this? I have no idea what is happening here.

Is it on Windows? I think meteorhacks:npm wouldn’t work on windows because of the binary dependencies on the build toolchain.

Tried on all platforms, doesn’t work on all of them. BTW, binary compilation works wonderfully on windows (at least with node-serialport, they’ve done great work on it)

Try deleting ~/.npm and rebuilding clean.

Tried that, same error message.

Same problem - same error - tested on MaxOSX, Linux, Arm

I have not deeper checked what may the problem but if you use a previous release of the serialport library it works

{ "serialport": "1.3.1" }

version 1.3.1 isnot working.

Why not just released a compiled version of the compiler, it is necessary to every time?
The development version is released to the Android said, also need to always compile.
However, the first fork of a WIN32 version of the first.

I think, that there a so many conditions and platforms as well as different system library sets, that this is not a good decision and also this preferred when using npm install.

The main question is why 1.3.1 is not working for you? I run it now on several environments without problems. What versions and platform are you running? Did you use the instaler or are you running from checkout?

  1. platform
  2. meteor --version
  3. npm list (inside your project path packages/npm-container/.npm/package/)
  4. node --version

I just created the test prog again minutes ago and it still works also.

My platform is Windows 7 X64 ,and meteor version , Node version is v0.12.2.

I’m try add package but failed.

run meteor add donaldaverill:serialport

While checking for donaldaverill:serialport@3.1.1:
error: No compatible binary build found for this package. Contact the
package author and ask them to publish it for your platform.

I use NPM to install the serialport package, and perform test bin/serialportlist.js and bin/serialportTerminal.js Was working properly.
The package runs for the first time to compile, if released to the Andrino or other embedded system would be more trouble.

Hi please check it once to install as @wie has written in his first post
but with the correct version from my comment:

This should work if you had installed SerialPort previously via npm.


I am not sure if the echo command will work on windows otherwise just create a the file name packages.json inside the app folder with content:


before running two times meteor.

Well I got serialport to compile directly with nodejs (npm install serialport). I had to install visual studio 2013, python, etc. I was able to track this down because the errors while trying to install were very helpful to find out what was failing,.

However…I cant get meteor to install it! I even tried the 1.3.1 version you guys mentioned. And there are not detailed errors to help track down where its failing, it just complains about nodegyp! Anyone know where the detailed error log is help for meteorhacks:npm when it fails to install.

Any help would be awesome!

Windows 8.1 64 bit.

I am not sure but on my system (MacOS) errors are left at


Unfortunately there is nothing in .npm…

Well I guess its okay its not working on windows as long as I can get this to work on raspberry pi. I just wanted to do my testing on my windows computer before I deploy on raspberry.

I’m about to go try this out on my raspberry pi…

On pi it will work, I use it already. Maybe you like to use my fork at:

See also this blog with a lot of infos

Yeah I am already using your universal meteor repository. It works great!
Also I changed my version to 1.3.1 on serial port and it worked great on the raspberry pi!
I’m now communicating to my PLC through modbus rtu serial using h5.modbus and hosting control and view through meteor webserver!

Great! Good luck on your upcoming projects :wink:

So it works on Linux, but not on mac and windows?

Hi @wie - SerialPort just does currently not work on windows with meteor. I am not sure why but I do not use Windows for such things and so I haven’t got in touch with it on Windows.

Doesn’t happen on windows with meteor 1.1.x with serialport 1.7.1 version (13/05/2015 latest version). Can be closed.