Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js npm postinstall因多个命令而失败_Node.js_Bash_Command Line Interface_Npm_Post Install - Fatal编程技术网

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”