- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Npm 提供了一种在安装每个包后执行自定义可执行文件或脚本的方法(请参阅 Hook Scripts )。
这是我编写的一个小钩子(Hook)脚本:
hook-test-npm/node_modules/.hooks/postinstall
#!/usr/bin/env node
console.log("postinstall... " + process.argv.join(" "));
然后我以通常的方式安装了一个软件包:
$ npm install --save some-package
但是结果并不像我希望的那样:
> some-package@1.0.0 postinstall /Users/macuser/Desktop/hook-test-npm/node_modules/some-package
> /Users/macuser/Desktop/hook-test-npm/node_modules/.hooks/postinstall
postinstall... /usr/local/bin/node /Users/macuser/Desktop/hook-test-npm/node_modules/.hooks/postinstall
刚刚安装的包的名称(“some-package”)似乎没有作为参数提供给我的可执行 Hook 。
有没有办法从钩子(Hook)内访问这些信息?
最佳答案
经过进一步的实验,我发现了以下两个环境变量,它们似乎包含我正在寻找的信息。我不知道这些是否应该直接使用;但他们肯定会暂时为我解决问题:
#!/usr/bin/env node
console.log("postinstall...");
// Print out the name of the package that was just installed.
console.log(" " + process.env.npm_package_name);
// Print out the directory of the package that was just installed.
console.log(" " + process.env.PWD);
关于npm - 如何从 npm "postinstall" Hook 获取包名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43629596/
您好,我正在使用 npm install --save firebase 在 ubuntu 控制台上安装 firebase并在安装过程中出现以下错误,我尝试安装 npm install protobu
将软件包添加到cygwin时,总是会出现错误,例如: 包装:未知包装 autorebase.bat退出代码1 /var/log/setup.log.full指示问题: 2013/12/02 10:07
我错了 原因npm install whatever删除 node_modules/-文件夹不同:我认为它运行 preinstall但没有postinstall我错了。 我没有运行这两个脚本。 原因似
我开发了一个 npm 包(“node_commons”),它包含在我的其他项目中,如下所示: package.json(其他项目) "node-commons": "git+ssh://git@sta
我有带有以下 package.json 的 npm 模块 { "name": "my-app", "version": "0.0.0", "scripts": { "prepubl
这可能更像是一个澄清问题: 根据 Ivy 的文档(自 Angular 9 起),我们需要将 postinstall 脚本添加到我们的 package.json 中,如下所示: "postinstall
* Listening on tcp://0.0.0.0:3000 Started GET "postinstall/" for 127.0.0.1 at 2013-10-27 07:26:15 +0
在我的 composer.json 中,有一个 postinstall Hook 设置,如下所示: "scripts" : { "dist" : "node dist; node
我正在尝试从 grunt 的 scripts.postinstall 运行多个 CLI 命令。我不知道如何让两者都运行。如果我添加第二个命令都不会运行。它们分别在安装后和控制台中工作。 我已经尝试将它
我在 npm 上创建了一个包,它创建了一个“scss 目录结构”,我想将自定义脚本复制/添加到项目根目录下的 package.json 文件中。 MY-PROJECT ├── node_modules
Npm 提供了一种在安装每个包后执行自定义可执行文件或脚本的方法(请参阅 Hook Scripts )。 这是我编写的一个小钩子(Hook)脚本: hook-test-npm/node_modules
如果以下问题对您来说很幼稚,请原谅: 我经历了由 angular 9 开发的多个项目,其中大多数在 package.json 中有以下行作为 posinstall 脚本。"postinstall":
我只想运行 npm 的安装后脚本一次(在第一次不带参数的 npm install 之后) 我尝试查看文档,但找不到任何内容。关于如何执行此操作的任何想法(除了在第一次运行安装后时保存本地文件之外?)
我有一个 npm 包(npm v 5.5.1 和 Node 版本是 9.2.0)。如果我在本地机器上运行 npm install 然后执行 package.json 中定义的 postinstall
我正在使用 Heroku 来托管我的应用程序并使用 webpack 来构建它。 基本上,我正在尝试部署我的应用程序,但它根本不起作用。 安装后似乎没有发生,因为当我加载页面时它缺少文件 bundle.
我想在运行后自动将某些文件从 npm 包复制到用户的本地目录 npm install my-package 我可以通过在 package.json 中声明 "files" 来安装它们。问题是---文件
我在网上窥探了超过 48 小时,但未能解决这个问题。 当我运行命令“npm install”时,它无法执行安装后脚本“bower install”。因此,我使用以下方法进行了明确的 bower 安装:
我有一个要发布到 NPM 的包,其中还包含如下所示的演示目录: . +-- demo | +-- src | | +-- main.js | +-- package.json +--
我目前正在使用层meta-azure-device-update 和meta-swupdate 进行Azure 设备更新。我想运行安装后脚本。我关注了下面提到的来源: 1.sw-描述.rst http
我有一个 postinstall 脚本,我假设每当您执行 git push heroku master 时都会调用该脚本。但由于某种原因,推送失败了。我在 Windows 上,必须对某些脚本使用 cr
我是一名优秀的程序员,十分优秀!