【问题标题】:Installing Inotify with NPM使用 NPM 安装 Inotify
【发布时间】:2012-03-04 06:04:03
【问题描述】:

我对 nodeJS 很陌生,我正在尝试使用 Node 包管理器 (NPM) 安装一个名为 inotify 的包。

安装 NPM(在 OSX Lion 上)后,我尝试使用以下命令安装 inotify:

sudo npm install inotify

我收到以下错误:

npm http GET https://registry.npmjs.org/inotify
npm http 304 https://registry.npmjs.org/inotify

> inotify@0.2.2 install /usr/local/lib/node_modules/inotify
> node-waf configure build

Checking for program g++ or c++          : /usr/bin/g++ 
Checking for program cpp                 : /usr/bin/cpp 
Checking for program ar                  : /usr/bin/ar 
Checking for program ranlib              : /usr/bin/ranlib 
Checking for g++                         : ok  
Checking for node path                   : not found 
Checking for node prefix                 : ok /usr/local/Cellar/node/0.6.6 
Checking for program node                : /usr/local/bin/node 
Checking for function inotify_init       : not found 
/usr/local/lib/node_modules/inotify/src/wscript:11: error: the configuration failed (see '/usr/local/lib/node_modules/inotify/build/config.log')
npm ERR! error installing inotify@0.2.2

npm ERR! inotify@0.2.2 install: `node-waf configure build`
npm ERR! `sh "-c" "node-waf configure build"` failed with 1
npm ERR! 
npm ERR! Failed at the inotify@0.2.2 install script.
npm ERR! This is most likely a problem with the inotify package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-waf configure build
npm ERR! You can get their info via:
npm ERR!     npm owner ls inotify
npm ERR! There is likely additional logging output above.
npm ERR! 
npm ERR! System Darwin 11.2.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "inotify"
npm ERR! cwd /Users/username/code
npm ERR! node -v v0.6.6
npm ERR! npm -v 1.1.4
npm ERR! code ELIFECYCLE
npm ERR! message inotify@0.2.2 install: `node-waf configure build`
npm ERR! message `sh "-c" "node-waf configure build"` failed with 1
npm ERR! errno {}
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/username/code/npm-debug.log
npm not ok

谁能帮我解决这个问题

【问题讨论】:

    标签: javascript node.js npm osx-lion


    【解决方案1】:

    inotify 模块无法构建,因为它找不到inotify_init。这是因为 inotify 在 OS X 上不可用。

    OS X 上的 FSEvents API 提供了类似的功能,但它是一个完全不同的 API。 inotify 模块在这种情况下不起作用。

    根据您要执行的操作,fs.watch 可能适合您的需求。它抽象出平台差异:

    • 在 Linux 系统上,这使用 inotify
    • 在 BSD 系统(包括 OS X)上,这使用 kqueue
    • 在 SunOS 系统(包括 Solaris 和 SmartOS)上,这使用事件端口。
    • 在 Windows 系统上,此功能依赖于 ReadDirectoryChangesW

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-04
      • 2014-05-30
      • 2021-06-05
      • 2016-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多