有没有办法或库可以告诉从哪里解决了需要的模块,特别是它可能包含哪些二进制文件?
例如,当我 require('coffee-script') 时,(AFAIK)无法告诉它的安装目录以及它有哪些命令行二进制文件。
理想情况下,我需要的是 require 和 package.json 解析器之间的某种混合,例如遵循假设的“npminfo”库。
var npminfo = require('npminfo')
// get info about module
var pkginfo = npminfo.resolve('coffee-script')
pkginfo.version => '1.1.0'
pkginfo.path => '/home/teemu/node_modules/coffee-script'
pkginfo.bins => { coffee: '/home/teemu/node_modules/coffee-script/bin/coffee', cake: '/home/teemu/node_modules/coffee-script/bin/cake'}
// generic info
npminfo.binpath => '/home/teemu/.node_modules/bin'
我确实尝试使用 require.paths 并且只是遍历目录,但由于某种原因,它不包含我的模块实际安装的路径。不知何故需要仍然找到它们?
~ $ node
> require.paths
[ '/Users/teemuikonen/.node_modules',
'/Users/teemuikonen/.node_libraries',
'/usr/local/lib/node' ]
>
~ $ ls /usr/local/lib/node
wafadmin
~ $ ls .node_modules/
ls: .node_modules: No such file or directory
~ $ ls node_modules/
cli cradle coffee-script ...
谢谢