有人知道在 npm install 之后是否可以在最后打印日志消息?
To enable CLI tab autocompletion run:
mypackage completion >> ~/.profile
progress@1.1.8 node_modules/progress
kew@0.6.0 node_modules/kew
adm-zip@0.4.7 node_modules/adm-zip
request-progress@0.3.1 node_modules/request-progress
└── throttleit@0.0.2
....
但是我想在依赖下载后给出一条消息,例如:
progress@1.1.8 node_modules/progress
kew@0.6.0 node_modules/kew
adm-zip@0.4.7 node_modules/adm-zip
request-progress@0.3.1 node_modules/request-progress
└── throttleit@0.0.2
To enable CLI tab autocompletion run:
mypackage completion >> ~/.profile
我通过安装后的脚本尝试了它,但没有工作
答案 0 :(得分:2)
我也遇到了这个问题。我的解决方法是使用自定义脚本:
"scripts": {
"presetup": "npm install -g",
"setup": "node postinstall.js"
},
(我需要我的工具全局安装,有-g
。当然,这可以省略。)
然后我让我的用户运行此行,而不是通常的 npm install :
npm run-script setup my-package.tgz
请注意, npm install 仍然有效。它只是不会显示最终消息。
答案 1 :(得分:1)
从npm documentation on "scripts"
开始,您可以使用与命令相关联的"postinstall"
(或仅"install"
)在安装软件包后运行...
既然你说你已经尝试了这个,但在你的问题中没有给出关于如何做的背景,那么让我带你完成整个过程......
例如,假设这是在package.json
:
{
...
"scripts": {
"postinstall": "node postinstall.js"
}
...
}
然后,在项目目录中,您可以创建一个postintall.js
脚本,并将其放入其中:
console.log(
"To enable CLI tab autocompletion run:\n" +
"mypackage completion >> ~/.profile"
);