atom/node-pathwatcher

Module version mismatch when building.

anderoonies opened this issue · 7 comments

There's a module version mismatch when building the package.
Adding in a step 5.5. apm rebuild doesn't solve.

  1. git clone https://github.com/atom/node-pathwatcher.git
  2. cd node-pathwatcher
  3. apm link
  4. npm install
  5. npm test
  6. Open Atom

Atom Version: 1.5.3
System: Mac OS X 10.11.4
Thrown From: pathwatcher package, v6.4.0

Stack Trace

Failed to load the pathwatcher package

At Module version mismatch. Expected 46, got 47.

Error: Module version mismatch. Expected 46, got 47.
    at Error (native)
    at Object.module.(anonymous function) (ATOM_SHELL_ASAR.js:137:20)
    at Object.module.(anonymous function) [as .node] (ATOM_SHELL_ASAR.js:137:20)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:50:27)
    at Object.<anonymous> (/Users/andybayer/github/node-pathwatcher/lib/main.js:6:13)
    at Object.<anonymous> (/Users/andybayer/github/node-pathwatcher/lib/main.js:213:4)
    at Module.contents.overrideModuleCompile.Module._compile (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:103:30)
    at Object.keys.forEach.Object.defineProperty.value [as .js] (/Applications/Atom.app/Contents/Resources/app.asar/src/compile-cache.js:208:21)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:50:27)
    at Package.module.exports.Package.requireMainModule (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:720:27)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/package.js:116:28
    at Package.module.exports.Package.measure (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:92:15)
    at Package.module.exports.Package.load (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:106:12)
    at PackageManager.module.exports.PackageManager.loadPackage (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:445:14)
    at PackageManager.module.exports.PackageManager.loadPackages (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:395:14)
    at AtomEnvironment.module.exports.AtomEnvironment.startEditorWindow (/Applications/Atom.app/Contents/Resources/app.asar/src/atom-environment.js:684:21)
    at module.exports (/Applications/Atom.app/Contents/Resources/app.asar/src/initialize-application-window.js:28:10)
    at setupWindow (file:///Applications/Atom.app/Contents/Resources/app.asar/static/index.js:86:5)
    at window.onload (file:///Applications/Atom.app/Contents/Resources/app.asar/static/index.js:41:9)

Commands

Config

{
  "core": {
    "disabledPackages": [
      "linter-eslint",
      "markdown-preview",
      "autocomplete-plus"
    ]
  }
}

Installed Packages

# User
editorconfig, v1.2.4
language-pfm, v0.82.0
linter, v1.11.3
markdown-preview-plus, v2.2.2
pathwatcher, v6.4.0
preview-inline, v0.5.1
text-buffer, v8.3.0

# Dev
git-tabs, v0.3.0

@lee-dohm mention by request

@anderoonies apm link is for atom packages, but pathwatcher is a regular node module. Are you trying to use the module within a package?

yeah, i'm trying to use it within a package—should i be using npm link?

Yeah, you should run npm link from the pathwatcher directory, npm link pathwatcher from within that package directory, and run apm rebuild from the package directory. The apm rebuild command rebuilds a packages' dependencies; it doesn't expect the package itself to have native code.

great—if it's used throughout atom (like pathwatcher is) will i need to npm link pathwatcher from the Atom clone directory and rebuild Atom?

Yeah. Or, instead of rebuilding Atom, you can run atom in dev mode (atom --dev).

Closing this out, but let me know if you have any further questions. Good luck!