2016-04-26 76 views
2

所以我們的網站上有作曲家套裝, 並且在獲得包後我們運行了一些命令。作曲家腳本不再運行

"scripts": { 
    "post-install-cmd": [ 
     "php -r \"shell_exec('cp -rf sourcefiles/. source/.');\"", 
     "php -r \"shell_exec('rm -rf sourcefiles');\"" 
    ] 
} 

這些運行找到的版本2016-02-24_11-44-07-45f6b37

但是當我運行的自我更新,以獲取最新版本,它剎車代碼,並不再起作用,即使什麼也沒有變。

這是一個值得關注的原因,因爲這意味着我們不能再更新我們的作曲家。任何想法爲什麼已經破裂我們做錯了什麼?

很多謝謝。

+0

只是想知道,是不是「CP -rf sourcefiles /來源/」足夠的一部分線?其餘的只在php中模擬shell。 –

+0

@TomášVotruba在我現在使用的版本中可以正常工作,但是它在最新更新之後仍然無法正常工作。 –

回答

4

有人告訴了這個問題,

所以只在「post-install-cmd」上運行該腳本,此工作前1.0現在需要在「post-install-cmd」和「post-update-cmd」上運行腳本(如果鎖定文件存在,它將運行更新命令)。

因此,代碼現在看起來像這樣:

"scripts": { 
    "post-install-cmd": [ 
     "cp -rf sourcefiles/. source/.", 
     "rm -rf sourcefiles" 
    ], 
    "post-update-cmd": [ 
     "cp -rf sourcefiles/. source/.", 
     "rm -rf sourcefiles" 
    ] 
} 

感謝您幫助去除PHP依賴

1

你的腳本有趣的是:真正的shell命令是cp -rf sourcefiles/. source/.,而你包裝成到PHP函數shell_exec()式電話本,因爲這個功能不能沒有PHP的幫助下被調用,您通過這個源代碼到shell上的PHP。

替代文字建議:

"scripts": { 
    "post-install-cmd": [ 
     "cp -rf sourcefiles/. source/.", 
     "rm -rf sourcefiles" 
    ] 
} 

但是,你必須提供有關錯誤的更多細節,你得到任何消息,等在github

+0

啊對,現在在我的版本上工作,但在最新版本,也不起作用。 我沒有收到任何錯誤消息,它不只是運行代碼。很奇怪。 –