# fuse-shared-library-darwin

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

Latest version **1.1.3** (published 2020-05-26) · MIT license · 0 weekly downloads

## Install

```sh
npm install fuse-shared-library-darwin
pnpm add fuse-shared-library-darwin
yarn add fuse-shared-library-darwin
bun add fuse-shared-library-darwin
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.3 |
| Published | 2020-05-26 |
| First published | 2019-03-01 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 3.2 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 6 |
| Author | Mathias Buus |
| Maintainers | andrewosh, mafintosh |
| Keywords | fuse, shared, library, prebuild, osxfuse, mac |

## Links

- npm: https://www.npmjs.com/package/fuse-shared-library-darwin
- Repository: https://github.com/mafintosh/fuse-shared-library-darwin
- Homepage: https://github.com/mafintosh/fuse-shared-library-darwin#readme
- Issues: https://github.com/mafintosh/fuse-shared-library-darwin/issues
- npm.io page: https://npm.io/package/fuse-shared-library-darwin

## Recent versions

- 1.1.3 (latest) — 2020-05-26
- 1.1.2 — 2020-05-26
- 1.1.1 — 2020-05-26
- 1.1.0 — 2020-05-19
- 1.0.3 — 2019-11-21
- 1.0.2 — 2019-11-21
- 1.0.1 — 2019-04-24
- 1.0.0 — 2019-03-01

## README

# 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

``` js
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

See the [osxfuse license](https://github.com/osxfuse/osxfuse/blob/master/LICENSE.txt) for the terms involving commercial redistribution,
for the osxfuse part.

---
_Source: https://npm.io/package/fuse-shared-library-darwin · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
