我编写了一个具有安装后脚本的模块来执行某些任务。
但是,在模块的开发阶段,我正在使用" npm链接" (来自模块目录)和" npm链接myModule" (来自应用程序目录
这导致了一个问题:postinstall脚本需要从应用程序目录中读取一些文件。
由于模块是npm链接的,并且node_modules目录中有一个链接到模块源文件夹,启动安装后脚本的节点进程有一个模块的工作目录,而不是应用程序。
因此,应用程序目录未知
有解决方法吗?
-------- --------更新
如果我修改 npm / lib / utils / lifecycle.js (https://github.com/npm/npm/blob/2.x/lib/utils/lifecycle.js)并在第55行插入
env.npm_start_dir = process.cwd();
然后我可以访问用户键入的原始目录" npm link"通过访问
process.env.npm_start_dir
我宁愿有一个"官员"这样做的方式