我正在设置一个composer.json文件,以便在执行某些任务时自动运行。
脚本如下所示:
"scripts": {
"post-update-cmd": [
"@createDir",
"@installSlate",
"@installConcat"
],
"createDir": "npm install -g @shopify/slate",
"installSlate": "slate theme blank_theme",
"installConcat": "npm install grunt-contrib-concat --save-dev"
}这是可行的,但它会将grunt插件安装在根文件夹中,而不是在blank_theme中。我已经尝试添加了;
"installConcat": "cd blank_theme npm install grunt-contrib-concat --save-dev"或者添加另一个命令进入blank_theme目录,如下所示;
"scripts": {
"post-update-cmd": [
"@createDir",
"@installSlate",
"@moveDir",
"@installConcat"
],
"createDir": "npm install -g @shopify/slate",
"installSlate": "slate theme blank_theme",
"moveDir": "cd blank_theme",
"installConcat": "npm install grunt-contrib-concat --save-dev"
}但没那么走运。有什么办法可以做到这一点吗?
发布于 2018-02-08 22:19:56
它的发生是因为命令:npm install package_name在当前目录或当前package.json文件所在的最近父目录中安装指定的软件包。如果你需要在指定的目录中安装一些东西,你应该把package.json文件放在那里,或者在这个目录下运行npm init,它会在那里创建这个文件,一切都会正常工作。
作为建议,我可以说:从命令中删除--save-dev。该子命令的作用是将您安装到package.json中的内容作为依赖项添加。我通常在开发过程中使用这个命令,当我懒惰的时候,手动将这个依赖写到package.json中。在你的composer.json中,你不需要这个子命令;
发布于 2018-02-09 00:29:06
我最终这样解决了它,以防它对任何人有帮助
"installConcat": "npm install --prefix blank_theme grunt-contrib-concat --save-dev"https://stackoverflow.com/questions/48686304
复制相似问题