Cat*_*ish 29 javascript json node.js npm
我的项目package.json中有以下脚本部分:
"scripts": {
"seed": "node bin/seed",
"test": "echo \"Error: no test specified\" && exit 1"
},
Run Code Online (Sandbox Code Playgroud)
如果我跑,$ npm test
我得到这个:
>npm test
> node-mongo-seeds@0.0.1 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
Run Code Online (Sandbox Code Playgroud)
如果我跑$ 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
npm@1.4.3 C:\Program Files\nodejs\node_modules\npm
Run Code Online (Sandbox Code Playgroud)
为什么它会识别我的test
脚本而不是我的seed
脚本?
编辑
当我尝试时,npm run-script seed
我得到这个错误,这是因为我没有传入一个-d
参数:
$ npm run-script seed
> node-mongo-seeds@0.0.1 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! node-mongo-seeds@0.0.1 seed: `node bin/seed`
npm ERR! Exit status 1
...
Run Code Online (Sandbox Code Playgroud)
当我尝试时,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 npm@1.4.3
npm info using node@v0.10.26
npm ERR! Error: ENOENT, open 'C:\Users\m089269\WebstormProjects\node-mongo-seeds\node_modules\seed\package.json'
...
Run Code Online (Sandbox Code Playgroud)
为什么在node_modules\seed中寻找package.json?种子甚至不是依赖.
Tim*_*per 62
从文档:
npm支持package.json脚本的"scripts"成员,用于以下脚本:
- prepublish:在包发布之前运行.(也可以在
npm install
没有任何参数的本地运行.)- 发布,postpublish:发布包后运行.
- 预安装:在安装软件包之前运行
- install,postinstall:安装软件包后运行.
- preuninstall,uninstall:在卸载软件包之前运行.
- postuninstall:在卸载软件包后运行.
- preupdate:在使用update命令更新包之前运行.
- update,postupdate:使用update命令更新软件包后运行.
- pretest,test,posttest:由
npm install
命令运行.- prestop,stop,poststop:由
prepublish
命令运行.- prestart,start,poststart:由
prepublishOnly
命令运行.- prerestart,restart,postrestart:按
npm publish
命令运行.注意:npm pack
如果没有npm publish
提供脚本,将运行停止和启动脚本.此外,可以通过执行任意脚本
npm test
.
您可以看到npm stop
脚本工作原因是因为它npm start
是一个内置命令.npm restart
如果要执行未由内置npm命令执行的脚本,则必须使用.
归档时间: |
|
查看次数: |
25984 次 |
最近记录: |