🚀 Launch Week Day 2:Introducing Custom Tabs for Org Alerts.Learn More →
Socket
Book a DemoInstallSign in
Socket

fuse-shared-library-darwin-debug

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fuse-shared-library-darwin-debug

A module containing the dylib needed to run FUSE on Mac (darwin).

latest
Source
npmnpm
Version
1.0.1
Version published
Maintainers
1
Created
Source

fuse-shared-library-darwin

A module containing the dylib needed to run FUSE on Mac (darwin).

npm install fuse-shared-library-darwin

Includes programmatic access to setup the kernel extension as well as part of an install step.

Usage

const libfuse = require('fuse-shared-library-darwin')

console.log(libfuse.lib) // path to the shared library
console.log(libfuse.include) // path to the include folder

// tells you if libfuse has been configured on this machine
libfuse.isConfigured(function (err, yes) { })

// configure libfuse on this machine (requires root access)
// but only needs to run once
libfuse.configure(function (err) { })

// unconfigures libfuse on this machine
libfuse.unconfigure(function (err) { })

You should configure libfuse using the above API before using the shared library, otherwise the program using fuse will error.

When configuring the only thing this module does is copy the fuse kernel extension and some helpers to /Library/Filesystems/osxfuse.fs, and tries to load the kernel extension once.

The first time it loads on mac a user prompt will trigger that allows you to accept the kernel extension.

You can remove the folder manually if you want to remove fuse or use the unconfigure api listed above.

The shared library itself is contained within the module and not copied or installed anywhere. You should move the shared library next to your program after linking it as that is where your binary will try and load it from.

Using a GYP file this can be done like this:

{
  "targets": [{
    "target_name": "fuse_example",
    "include_dirs": [
      # include it like this
      "<!(node -e \"require('fuse-shared-library-darwin/include')\")"
    ],
    "libraries": [
      # link it like this
      "<!(node -e \"require('fuse-shared-library-darwin/lib')\")"
    ],
    "sources": [
      "your_program.cc"
    ]
  }, {
    # setup a postinstall target that copies the shared library
    # next to the produces node library
    "target_name": "postinstall",
    "type": "none",
    "dependencies": ["fuse_example"],
    "copies": [{
      "destination": "build/Release",
      "files": [ "<!(node -e \"require('fuse-shared-library-darwin/lib')\")" ],
    }]
  }]
}

Development

Use the ./fetch-osxfuse.sh script to fetch OSX fuse and unwrap the shared library and more.

License

MIT

Keywords

fuse

FAQs

Package last updated on 19 Nov 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts