Atom Pymakr Serialport.node



  • Getting the following after my PC rebooted and Atom updated to 1.19. Any ideas? I've treid all the suggestions I could find in various posts. Running on Windows 10 and same issue on 2 different PCs.

    [Enter steps to reproduce:]

    1. ...
    2. ...

    Atom: 1.19.0 x64
    Electron: 1.6.9
    OS: Microsoft Windows 10 Pro
    Thrown From: Pymakr package 1.0.3

    Stack Trace

    Failed to load the Pymakr package

    At The module '\\?\C:\Users\Steve\.atom\packages\Pymakr\build\Release\serialport.node'
    was compiled against a different Node.js version using
    NODE_MODULE_VERSION 49. This version of Node.js requires
    NODE_MODULE_VERSION 53. Please try re-compiling or re-installing
    the module (for instance, using `npm rebuild` or`npm install`).
    
    Error: The module '\\?\C:\Users\Steve\.atom\packages\Pymakr\build\Release\serialport.node'
    was compiled against a different Node.js version using
    NODE_MODULE_VERSION 49. This version of Node.js requires
    NODE_MODULE_VERSION 53. Please try re-compiling or re-installing
    the module (for instance, using `npm rebuild` or`npm install`).
        at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:173:20)
        at Object.Module._extensions..node (module.js:598:18)
        at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:173:20)
        at Module.load (module.js:488:32)
        at tryModuleLoad (module.js:447:12)
        at Function.Module._load (module.js:439:3)
        at Module.require (~/AppData/Local/atom/app-1.19.0/resources/app/static/index.js:47:45)
        at require (~/AppData/Local/atom/app-1.19.0/resources/app/src/native-compile-cache.js:66:33)
        at bindings (/packages/Pymakr/node_modules/bindings/bindings.js:76:44)
        at /packages/Pymakr/lib/connections/serialport-linux/lib/bindings.js:3:35)
        at /packages/Pymakr/lib/connections/serialport-linux/lib/bindings.js:36:3)
        at Module.get_Module._compile (~/AppData/Local/atom/app-1.19.0/resources/app/src/native-compile-cache.js:106:36)
        at Object.value [as .js] (~/AppData/Local/atom/app-1.19.0/resources/app/src/compile-cache.js:239:29)
        at Module.load (module.js:488:32)
        at tryModuleLoad (module.js:447:12)
        at Function.Module._load (module.js:439:3)
        at Module.require (~/AppData/Local/atom/app-1.19.0/resources/app/static/index.js:47:45)
        at require (~/AppData/Local/atom/app-1.19.0/resources/app/src/native-compile-cache.js:66:33)
        at /packages/Pymakr/lib/connections/serialport-linux/lib/serialport.js:12:25)
        at /packages/Pymakr/lib/connections/serialport-linux/lib/serialport.js:476:3)
        at Module.get_Module._compile (~/AppData/Local/atom/app-1.19.0/resources/app/src/native-compile-cache.js:106:36)
        at Object.value [as .js] (~/AppData/Local/atom/app-1.19.0/resources/app/src/compile-cache.js:239:29)
        at Module.load (module.js:488:32)
        at tryModuleLoad (module.js:447:12)
        at Function.Module._load (module.js:439:3)
        at Module.require (~/AppData/Local/atom/app-1.19.0/resources/app/static/index.js:47:45)
        at require (~/AppData/Local/atom/app-1.19.0/resources/app/src/native-compile-cache.js:66:33)
        at /packages/pymakr/lib/connections/pyserial.js:20:18)
        at /packages/pymakr/lib/connections/pyserial.js:26:30)
        at Module.get_Module._compile (~/AppData/Local/atom/app-1.19.0/resources/app/src/native-compile-cache.js:106:36)
    

    Commands

    Non-Core Packages

    node_modules undefined 
    Pymakr 1.0.3 
    


  • A library is an organized collection of useful functionality. A typical library could include functions to handle strings, dates, HTML DOM elements, events, cookies, animations, network requests, and more. This article explains the basics and rudimentary differences between the most popular JavaScript libraries. Whether they become “best” for you is another question. But still all of them worth trying!



  • @politick
    I guess I will do the same and wait until a new version of the plugin is released before upgrading to Atom 1.19.

    Thanks everyone for your help and suggestions.



  • @balibo
    Interesting article for those wanting to code using JavaScript, but I fail to see how this can help solving this problem.



  • @ssmith In install-win.js there is this command electron-rebuild -f -w serialport -v 1.3.13 which should recompile the serialport library. However it did not work for me at least. If you find something that works you can post it here https://github.com/pycom/pymakr-atom/issues/1



  • @urblau Yes "Downgrading from Atom v1.19 to Atom v1.18" did fix my problem.

    but @ssmith is also right that the core issue is not resolved and Pymakr should be updated to be compatible with 1.19, but that is beyond what I need at the moment. I just need a IDE/platform that works.

    Thx! Martin Politick August 2017.



  • It seems everyone is not addressing the message that things were compiled with the wrong version.

    > At The module '\\?\C:\Users\Steve\.atom\packages\Pymakr\build\Release\serialport.node'
    > was compiled against a different Node.js version using
    > NODE_MODULE_VERSION 49. This version of Node.js requires
    > NODE_MODULE_VERSION 53. Please try re-compiling or re-installing
    > the module (for instance, using `npm rebuild` or`npm install`).
    


  • Yey, I guess you should read this article - Discover Top JavaScript Libraries to Keep an Eye on in 2017 Really useful information, you know



  • @RobTuDelft said in Atom Pymakr Serialport.node:

    and then edit package.json to use install-win for the install procedure

    I am not quite sure how to do that, can you tell me what I should modify in that file?



  • @jojo What do you get when you remove the node-modules folder from the Pymakr package and then edit package.json to use install-win for the install procedure. Then edit install-win.js with your own path prefix (line 21) and run apm install again in the Pymakr folder?

    My plugin is located here: C:\Users\robbr\.atom\packages\Pymakr



  • @RobTuDelft said in Atom Pymakr Serialport.node:

    "buildDependenciesFromSource": true

    I just tried that, but without any success. Any other idea? :)



  • Got The Same Problem! Reinstalled Atom 1.18. Theres is a Problem with pymakr and Atom 1.19!!!



  • @RobTuDelft said in Atom Pymakr Serialport.node:

    package.json file and add "buildDependenciesFromSource": true under the build property

    Which package.json ?
    .atom\packages\Pymakr\package.json
    .atom\packages\Pymakr\precompiles\serialport-win\package.json

    Under what scope is the "build property" ?

    Here's my serialport-win\package.json
    BTW, this path does not exist on my laptop: C:\Users\devel\Projects\pymakr-atom

    {
    "_args": [
    [
    {
    "raw": "serialport@^4.0.7",
    "scope": null,
    "escapedName": "serialport",
    "name": "serialport",
    "rawSpec": "^4.0.7",
    "spec": ">=4.0.7 <5.0.0",
    "type": "range"
    },
    "C:\Users\devel\Projects\pymakr-atom"
    ]
    ],
    "_from": "serialport@>=4.0.7 <5.0.0",
    "_id": "serialport@4.0.7",
    "_inCache": true,
    "_location": "/serialport",
    "_nodeVersion": "0.12.7",
    "_npmOperationalInternal": {
    "host": "packages-12-west.internal.npmjs.com",
    "tmp": "tmp/serialport-4.0.7.tgz_1481518569217_0.2832766058854759"
    },
    "_npmUser": {
    "name": "reconbot",
    "email": "wizard@roborooter.com"
    },
    "_npmVersion": "2.15.6",
    "_phantomChildren": {
    "commander": "2.10.0"
    },
    "_requested": {
    "raw": "serialport@^4.0.7",
    "scope": null,
    "escapedName": "serialport",
    "name": "serialport",
    "rawSpec": "^4.0.7",
    "spec": ">=4.0.7 <5.0.0",
    "type": "range"
    },
    "_requiredBy": [
    "#USER",
    "/"
    ],
    "_resolved": "https://registry.npmjs.org/serialport/-/serialport-4.0.7.tgz",
    "_shasum": "421c618a8a612bd40cfa461b4a46154daf2229a5",
    "_shrinkwrap": null,
    "_spec": "serialport@^4.0.7",
    "_where": "C:\Users\devel\Projects\pymakr-atom",
    "author": {
    "name": "Chris Williams",
    "email": "voodootikigod@gmail.com",
    "url": "http://www.voodootikigod.com"
    },
    "bin": {
    "serialport-list": "./bin/serialport-list.js",
    "serialport-term": "./bin/serialport-terminal.js"
    },
    "binary": {
    "module_name": "serialport",
    "module_path": "build/{configuration}/",
    "host": "https://github.com/EmergingTechnologyAdvisors/node-serialport/releases/download/4.0.7"
    },
    "bugs": {
    "url": "https://github.com/EmergingTechnologyAdvisors/node-serialport/issues"
    },
    "bundleDependencies": [
    "node-pre-gyp"
    ],
    "dependencies": {
    "bindings": "1.2.1",
    "commander": "^2.9.0",
    "debug": "^2.3.2",
    "lie": "^3.1.0",
    "nan": "^2.4.0",
    "node-pre-gyp": "^0.6.32",
    "object.assign": "^4.0.3"
    },
    "description": "Node.js package to access serial ports. Welcome your robotic javascript overlords. Better yet, program them!",
    "devDependencies": {
    "chai": "^3.5.0",
    "chai-subset": "^1.2.2",
    "coveralls": "^2.11.9",
    "eslint-config-standard": "^5.1.0",
    "eslint-plugin-promise": "^1.1.0",
    "eslint-plugin-standard": "^1.3.2",
    "grunt": "^1.0.0",
    "grunt-mocha-test": "^0.12.7",
    "gruntify-eslint": "^2.0.0",
    "mocha": "^2.4.5",
    "node-pre-gyp-github": "^1.1.2",
    "nyc": "^6.4.4",
    "sandboxed-module": "^2.0.3",
    "sinon": "^1.17.3",
    "sinon-chai": "^2.8.0"
    },
    "directories": {},
    "dist": {
    "shasum": "421c618a8a612bd40cfa461b4a46154daf2229a5",
    "tarball": "https://registry.npmjs.org/serialport/-/serialport-4.0.7.tgz"
    },
    "engines": {
    "node": ">= 0.10.0"
    },
    "gitHead": "4a2a3cfae7ecba4e22e9c6d4cf7dfb7ec64324f6",
    "gypfile": true,
    "homepage": "https://github.com/EmergingTechnologyAdvisors/node-serialport#readme",
    "keywords": [
    "serialport",
    "johnny-five",
    "serial port",
    "hardware",
    "iot",
    "nodebots"
    ],
    "license": "MIT",
    "main": "./lib/serialport",
    "maintainers": [
    {
    "name": "jjrosent",
    "email": "jakerosenthal@gmail.com"
    },
    {
    "name": "reconbot",
    "email": "wizard@roborooter.com"
    },
    {
    "name": "voodootikigod",
    "email": "voodootikigod@gmail.com"
    }
    ],
    "name": "serialport",
    "optionalDependencies": {},
    "readme": "ERROR: No README data found!",
    "repository": {
    "type": "git",
    "url": "git://github.com/EmergingTechnologyAdvisors/node-serialport.git"
    },
    "scripts": {
    "coverage": "nyc report --reporter=text-lcov | coveralls",
    "grunt": "grunt",
    "gyp-rebuild": "node-gyp rebuild",
    "install": "node-pre-gyp install --fallback-to-build",
    "integration": "mocha test/arduinoTest/integration.js test/integration-lite.js",
    "lint": "grunt --verbose lint",
    "rebuild-all": "npm rebuild && node-gyp rebuild",
    "stress": "mocha --no-timeouts test/arduinoTest/stress.js",
    "test": "nyc grunt --verbose test",
    "valgrind": "valgrind --leak-check=full --show-possibly-lost=no node --expose-gc --trace-gc node_modules/.bin/grunt test"
    },
    "version": "4.0.7"
    }



  • Same problem here. This morning was my first time installation on that laptop, Win10. I actually tried VSCode first and that failed but with very little error information. Atom was my backup plan, but it failed also with at least much more information. I've updated Java and even JDK SE 8 just in case.



  • @jojo maybe go to the package.json file and add "buildDependenciesFromSource": true under the build property and run the command again.



  • @RobTuDelft

    I tried that (well with apm rebuild instead of npm rb), but I still get this error:

    The module '\\?\C:\Users\Johan\.atom\packages\Pymakr\precompiles\serialport-win\build\Release\serialport.node'
    was compiled against a different Node.js version using
    NODE_MODULE_VERSION 49. This version of Node.js requires
    NODE_MODULE_VERSION 53. Please try re-compiling or re-installing
    the module (for instance, using `npm rebuild` or`npm install`).
    


  • @jojo Can you try npm rb from within the module directory?



  • I forgot to mention that, but I did remove the .atom folder after uninstalling Atom and it did not change anything.



  • I also was having this error with atom 1.19
    Uninstalling Atom itself is not enough. You should even delete the .atom folder with preferences and packages, and then reinstall (I'm on a Mac, tho').



  • Hi,

    I also encounter the same issue.

    I already tried to reinstall the pymakr plugin and even uninstall Atom, download the latest version and reinstall it, but without any luck so far (I'm on Windows 10).

    If someone has a solution, that would be great!


Log in to reply
 

Looks like your connection to Pycom Forum was lost, please wait while we try to reconnect.