“自动呼叫”;“节点gyp重建”;关于;npm安装“;及;纱线安装“;

“自动呼叫”;“节点gyp重建”;关于;npm安装“;及;纱线安装“;,npm,npm-install,yarnpkg,node-gyp,npm-scripts,Npm,Npm Install,Yarnpkg,Node Gyp,Npm Scripts,我正在使用一些本机代码创建一个包,该包将被全局安装,现在我看到以下行为: 节点gyp rebuild在本地npm安装和软件包本身安装时自动运行 当我将自定义的预安装脚本添加到package.json时,无论是在npm安装上还是在全局安装包时,都不会再调用它,因此根本不会编译它 但是,如果使用纱线安装节点,即使使用预安装挂钩,gyp rebuild仍会运行 此外,如果我添加了“preinstall”:“node gyp rebuild”,运行我的脚本,然后再次调用node gyp rebuild,

我正在使用一些本机代码创建一个包,该包将被全局安装,现在我看到以下行为:

  • 节点gyp rebuild
    在本地
    npm安装
    和软件包本身安装时自动运行
  • 当我将自定义的
    预安装
    脚本添加到
    package.json
    时,无论是在
    npm安装
    上还是在全局安装包时,都不会再调用它,因此根本不会编译它
  • 但是,如果使用
    纱线安装
    节点,即使使用
    预安装
    挂钩,gyp rebuild
    仍会运行
  • 此外,如果我添加了
    “preinstall”:“node gyp rebuild”
    运行我的脚本,然后再次调用
    node gyp rebuild
    ,因此它会被编译两次
  • 我想知道有没有描述这种行为的文档?因为我什么也没找到。我甚至没有发现明确提到,
    node-gyp-rebuild
    npm-install
    上自动运行 如何使用
    预安装
    钩子,使我的模块只为
    npm
    纱线
    编译一次

    npm
    6.14.6
    纱线
    1.22.4