【发布时间】:2016-04-19 07:25:21
【问题描述】:
我想在运行后自动将某些文件从npm 包复制到用户的本地目录
npm install my-package
我可以通过在package.json 中声明"files" 来安装它们。问题是---文件没有放在本地目录中。所以我需要运行postinstall 脚本。
但是现在我不知道包安装在哪里(可能是目录树的更高位置),那么我怎样才能可靠地访问文件并通过脚本将它们复制到本地目录?
(通过本地目录我的意思是 --- 从我运行 npm install my-package 作为用户消费包。)
更新。似乎postinstall 脚本作为npm 拥有的进程运行,主目录为node_modules/my-package,所以除了天真的../../ 之外,我仍然不知道如何访问用户的主目录。
【问题讨论】:
-
一个老问题,我知道,但我面临着类似的问题。你有没有找到一个好的解决方案?
-
@danielv 是的,请参阅github.com/dmitriz/min-karma
-
谢谢。我希望您找到了一个更优雅的解决方案来查找除
../../之外的基本安装目录。 -
@danielv 如果您遇到更好的解决方案,请告诉我。
-
@danilev 最终,当
npm和yarn无法就安装位置达成一致时,我发现这个幼稚的解决方案是最方便和可靠的解决方案。
标签: node.js npm package installation post-install