Подтвердить что ты не робот

Скрипты npm package.json не вызываются

У меня есть следующий раздел сценариев в моих проектах package.json:

"scripts": {
    "seed": "node bin/seed",
    "test": "echo \"Error: no test specified\" && exit 1"
  },

Если я запустил $ npm test, я получаю следующее:

>npm test

> [email protected] test C:\Users\m089269\WebstormProjects\node-mongo-seeds
> echo "Error: no test specified" && exit 1

"Error: no test specified"
npm ERR! Test failed.  See above for more details.
npm ERR! not ok code 0

Если я запустил $ npm seed, я получаю следующее:

npm seed

Usage: npm <command>

where <command> is one of:
    add-user, adduser, apihelp, author, bin, bugs, c, cache,
    completion, config, ddp, dedupe, deprecate, docs, edit,
    explore, faq, find, find-dupes, get, help, help-search,
    home, i, info, init, install, isntall, issues, la, link,
    list, ll, ln, login, ls, outdated, owner, pack, prefix,
    prune, publish, r, rb, rebuild, remove, repo, restart, rm,
    root, run-script, s, se, search, set, show, shrinkwrap,
    star, stars, start, stop, submodule, tag, test, tst, un,
    uninstall, unlink, unpublish, unstar, up, update, v,
    version, view, whoami

npm <cmd> -h     quick help on <cmd>
npm -l           display full usage info
npm faq          commonly asked questions
npm help <term>  search for help on <term>
npm help npm     involved overview

Specify configs in the ini-formatted file:
    C:\Users\m089269\.npmrc
or on the command line via: npm <command> --key value
Config info can be viewed via: npm help config

[email protected] C:\Program Files\nodejs\node_modules\npm

Почему он распознает мой test script, но не мой seed script?

ИЗМЕНИТЬ

Когда я пытаюсь npm run-script seed, я получаю эту ошибку, которая ожидается, потому что я не передаю параметр -d:

$ npm run-script seed

> [email protected] seed C:\Users\m089269\WebstormProjects\node-mongo-seeds
> node bin/seed

Populate mongo from a set of .json files.
 Usage: $ node seed

Options:
  -d  The path to your mongo db  [required]

Missing required arguments: d

npm ERR! [email protected] seed: `node bin/seed`
npm ERR! Exit status 1
...

Когда я пытаюсь npm run-script seed -d "localhost/ease", я получаю эту ошибку.

npm run-script seed -d localhost/ease-dev
npm info it worked if it ends with ok
npm info using [email protected]
npm info using [email protected]
npm ERR! Error: ENOENT, open 'C:\Users\m089269\WebstormProjects\node-mongo-seeds\node_modules\seed\package.json'
...

Почему он ищет package.json в node_modules\seed? Семена даже не зависят.

4b9b3361

Ответ 1

Из документации:

npm поддерживает член "scripts" скрипта package.json для следующих скриптов:

  • prepublish: запустить ДО публикации пакета. (Также запустите локальную npm install без каких-либо аргументов.)
  • prepare: Запускать оба ПО ДО того, как пакет будет упакован и опубликован, при локальной npm install без каких-либо аргументов и при установке git-зависимостей (см. ниже). Это выполняется ПОСЛЕ prepublish, но ДО prepublishOnly.
  • prepublishOnly: запуск ДО ТОГО, как пакет подготовлен и упакован, ТОЛЬКО на npm publish.
  • prepack: запустите ПРЕЖДЕ ЧЕМ упакованный архив (в npm pack npm publish и при установке зависимостей git).
  • postpack: Запустите ПОСЛЕ того, как тарбол будет сгенерирован и перемещен в конечный пункт назначения.

  • publish, postpublish: запустить ПОСЛЕ опубликования пакета.

  • preinstall: запустить до установки пакета
  • установить, после установки: запустить ПОСЛЕ установки пакета.
  • preuninstall, uninstall: запустить ДО того, как пакет будет удален.
  • postuninstall: Запустите ПОСЛЕ удаления пакета.
  • preupdate: запускается ДО обновления пакета с помощью команды update.
  • update, postupdate: запустить ПОСЛЕ обновления пакета командой update.
  • pretest, test, posttest: Запускается командой npm test.
  • prestop, stop, poststop: запуск по команде npm stop.
  • prestart, start, poststart: npm start командой npm start.
  • prerestart, restart, postrestart: запустить командой npm restart. Примечание: npm restart запустит сценарии остановки и запуска, если сценарий restart не предусмотрен.

Кроме того, произвольные сценарии можно запустить, выполнив npm run-script <stage> <pkg>.

Вы можете увидеть причину, по которой ваш скрипт npm test работает, потому что npm test является встроенной командой. Вы должны использовать npm run-script если хотите выполнить сценарий, который не выполняется встроенной командой npm.

Ответ 2

Пользовательские скрипты, объявленные в package.json, могут запускаться с формой npm run <your-script> в вашей оболочке.

Попробуйте npm run seed или npm run test

Ответ 3

Для выполнения пользовательских скриптов в package.json используйте ниже

npm run-script seed

или же

npm run-script <пользовательский скрипт>

или вы можете использовать

npm run <пользовательский скрипт>

Ответ 4

запустите curl -v https://registry.yarnpkg.com/react

это сработало для меня. источник: - Github Issues