2016-02-29 90 views
1

我遇到了PaaS問題。當我部署我的節點應用程序時,我的腳本正在丟失其可執行位。我知道從長遠來看,我的PaaS需要解決這個問題,但現在我正在尋找解決方法。是否可以運行不可執行的npm腳本?

我的NPM腳本文件(https://docs.npmjs.com/misc/scripts#exiting)在閱讀:

腳本是通過將線作爲腳本參數SH運行。

如果我理解正確的話像這樣運行腳本:

SH myscript.sh

如果是真的腳本不需要可執行。但是,如果我運行一個不可執行的npm腳本。

NPM運行的MyScript

我得到這個:

SH:斌/ myscript.sh:權限被拒絕

有沒有辦法解決?

編輯:這裏是我的簡單腳本:

#!/bin/bash 
echo Hello World 
+0

myscript.sh的內容是什麼?它是一個bash腳本嗎? – nstoitsev

回答

1

嘗試在你的package.json這樣一行:

"myscript": "sh bin/myscript.sh" 

我認爲這裏的小字是故宮正在運行的命令如sh -c 'line from package.json here',如果這只是一個文件路徑,sh將要求它是可執行的。但是,如果沒有-csh將會運行不可執行的shell腳本而不會出錯。

sh -c 'bin/myscript.sh' 
sh: bin/myscript.sh: Permission denied 

sh -c 'sh bin/myscript.sh' 
myscript is running 
相關問題