Npm установить из репо не работает `prepare` - PullRequest
2 голосов
/ 06 мая 2019

У меня есть пакет npm для общих компонентов, размещенных на внутреннем git-сервере. По какой-то причине, когда я вызываю npm install в другом проекте, я хочу использовать это, в нем не запускается ловушка prepare. Очевидно, что это не работает, так как пакет npm нуждается в папке /dist в node_modules, чтобы иметь возможность использовать пакет.

Я уже пробовал такие вещи, как использование устаревшего prepublish хука, и даже это не вызывается. Я также попытался сделать postinstall, чтобы посмотреть, смогу ли я собрать после установки, в то время как этот хук действительно вызывался, так как он не был установлен, потому что devDependencies не были установлены

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 hook всегда вызывался для этого точного варианта использования

Обновлено 5/6/2019

В качестве примечания я обнаружил эту ошибку в сообществе NPM https://npm.community/t/using-npm-ci-does-not-run-prepare-script-for-git-modules/632/4.

Я использую npm 6.4.1, который должен работать в соответствии с ошибкой

1 Ответ

0 голосов
/ 30 мая 2019

Для тех, кому интересно это состояние.Я не смог заставить его работать.Я закончил тем, что разместил компоненты в частном реестре npm, и это прекрасно работает, поскольку команда npm publish выполняет сборку и публикует только папку dist

.
...