我需要在我创建的文件夹上运行npm install
我正在做以下
command := exec.Command("../app/node/", "npm", "install")
command.Dir = "."
output, err := command.Output()
if err != nil {
log.Println(err)
}
fmt.Printf("%s", output)
我收到错误:
fork/exec ../app/node/: permission denied
知道如何克服这个问题吗?
答案 0 :(得分:2)
你以错误的顺序得到BASE_DIR = os.path.abspath(os.path.join(__file__, '../../../'))
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
的论据。 Per the documentation,第一个参数是要执行的程序(即Command
),以下参数是要传递的参数,按命令应该接收它们的顺序,例如:
npm
答案 1 :(得分:1)
使用Command
执行命令的格式如下
c := exec.Command(<command>,<args>...)
在您的情况下,命令是npm
。
因此,代码应如下所示,您可以将命令的stdout
和stderr
绑定到shell。因此您可以查看npm
个日志。
command := exec.Command("../app/node/npm","install")
command.Stdout = os.Stdout
command.Stderr = os.Stderr
// Run the command
command.Run()