来自repo的NPM安装未运行`preparare` [英] Npm install from repo not running `prepare`

查看:8
本文介绍了来自repo的NPM安装未运行`preparare`的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个NPM包,用于托管在内部Git服务器上的常见组件。由于某些原因,当我在另一个项目中调用npm install时,我想在其中使用它,它将不会运行prepare挂钩。显然,这是不起作用的,因为NPM包需要node_MODULES中的/dist文件夹才能使用该包。

我已经尝试了一些方法,比如使用过时的prepublish钩子,但即使这样也不会被调用。我还尝试执行postinstall,以查看是否可以在安装后进行构建,而该挂接确实被调用失败,因为未安装devDependency

Package.json

{
  "name": "common-components",
  "version": "0.1.0",
  "scripts": {
    "prepare": "npm run build",
    "build": "ng build",
    ...
  },
  "private": true,
  "dependencies": {
    ...
  },
  "devDependencies": {
    ...
  },
}

用于安装的命令

npm install --save git+ssh://{URL-to-common-components-repo}}

我已经通读了npm脚本文档https://docs.npmjs.com/misc/scripts,似乎他们坚持认为应该始终为这个用例调用prepare钩子

更新于2019年5月6日

作为备注,我在NPM社区https://npm.community/t/using-npm-ci-does-not-run-prepare-script-for-git-modules/632/4发现了此错误。

我使用的是NPM 6.4.1,它应该可以根据错误运行

推荐答案

对于那些想知道它的状态的人。我一直无法让它工作。我最终所做的是将组件托管在私有的NPM注册表上,这很好用,因为npm publish命令将执行构建,并且只发布dist文件夹

这篇关于来自repo的NPM安装未运行`preparare`的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆