Node.js npm postinstall因多个命令而失败
在我的Node.js npm postinstall因多个命令而失败,node.js,bash,command-line-interface,npm,post-install,Node.js,Bash,Command Line Interface,Npm,Post Install,在我的composer.json中,有一个postinstall钩子设置,如下所示: "scripts" : { "dist" : "node dist; node_modules/.bin/doccoh src/package.js", "postinstall" : "node_modules/.bin/grunt setup || true; node_modules/.bin/bower install", "start" : "node
composer.json
中,有一个postinstall
钩子设置,如下所示:
"scripts" : {
"dist" : "node dist; node_modules/.bin/doccoh src/package.js",
"postinstall" : "node_modules/.bin/grunt setup || true; node_modules/.bin/bower install",
"start" : "node server.js"
}
每当我运行它时(从Git/gnubashcli运行Win),我都以
未找到命令。命令写入错误或找不到
德语CLI错误的粗略翻译
我试着把它分成多个代码>/分号分隔部分并首先将cd
放入该目录,但它只会以相同的错误消息结束。将整个postinstall
命令集替换为简单的ls
确实有效。所以我猜问题可能是分号分隔或命令的错误使用。但总的来说,我不知道出了什么问题
注意:我在全球安装了grunt cli
version 0.1.9和grunt
version 0.4.1。我遇到这个问题是为了寻找一些东西,并认为这可能会帮助其他人。我发现,随着事情变得有点复杂,转到postinstall.js文件更容易。这使得前进更容易处理 我回答有点晚了,但是如果您在Windows上,使用&&
postinstall: "some command && some other -c"
这可能有点晚了,但是:您可以在本地(!)安装grunt
、grunt cli
和bower
,然后从包.json
中删除路径(node\u modules/.bin
)。NPM会发现grunt
和bower
如果它们安装在node\u模块中(“环境”一节);@svckr+1放下node\u模块/.bin
部分帮了我一把。@svckr你想补充这一点作为一个答案吗?介意提交一份报告并详细描述一下你的过程吗?提前感谢。你能在postinstall.js
中分享这个示例吗?你知道跨平台支持的方法吗?@Plato作为将来的参考,&&
操作员可以在windows和linux上工作。不过,这些命令可能不兼容(在linux和windows上,极少数命令可以使用相同的语法)。运行多条指令最安全的方法是创建一个JS脚本,并在节点运行时运行它,如下所示:“postinstall”:“node./postinstallscript.JS”