gpt4 book ai didi

node.js - 如何通过 postinstall npm 脚本自动将文件从包复制到本地目录?

转载 作者:IT老高 更新时间:2023-10-28 23:00:16 39 4
gpt4 key购买 nike

我想在运行后自动将某些文件从 npm 包复制到用户的本地目录

npm install my-package

我可以通过在 package.json 中声明 "files" 来安装它们。问题是---文件没有放在本地目录中。所以我需要运行 postinstall 脚本。

但是现在我不知道包安装在哪里(可能是目录树的更高位置),那么我怎样才能可靠地访问文件并通过脚本将它们复制到本地目录?

(通过 本地目录 我的意思是 --- 从我运行 npm install my-package 作为用户 消费包的地方。)

更新。似乎 postinstall 脚本作为 npm 拥有的进程运行,主目录为 node_modules/my-package,所以我仍然不知道如何访问用户的主目录,而不是使用简单的 ../../.

最佳答案

从 npm 3.4 开始,您可以使用 $INIT_CWD 环境变量: https://blog.npmjs.org/post/164504728630/v540-2017-08-22

When running lifecycle scripts, INIT_CWD will now contain the original working directory that npm was executed from.

要解决您的问题,请在 package.json 中添加以下安装后脚本:

  "scripts": {
"postinstall": "cp fileYouWantToCopy $INIT_CWD",
},

关于node.js - 如何通过 postinstall npm 脚本自动将文件从包复制到本地目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34781630/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com