[英]Installing Inotify with NPM
我對 nodeJS 很陌生,我正在嘗試使用節點包管理器 (NPM) 安裝一個名為 inotify 的包。
安裝 NPM(在 OSX Lion 上)后,我嘗試使用以下命令安裝 inotify:
須藤 npm 安裝 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
有人可以幫我解決這個問題嗎
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
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.