以下命令(及其變體)在mac中運行正常,在mac上運行的ruby程序中運行正常,直接在windows命令提示符下運行,但是當我嘗試在Windows上的ruby文件中運行它時出現解析錯誤。curl從命令行運行,但不是在ruby腳本中
curl -u"user:pwd" -d"{\"name\":\"new_repo_beepo\"}" https://api.github.com/user/repos --insecure
我試着用反引號,%x()和system來執行它。我也嘗試過替換字符串和json的棋子,沒有任何運氣。從我可以確定的故障點位於-d"{\"name\":\"repo_name\"}"
部分,但那只是在沒有它的情況下嘗試命令。無論如何,在ruby的windows命令的每個變體中,我都會得到JSON解析錯誤。
可能是一個解析/報價問題與紅寶石使用shell機制在Windows上運行命令。你嘗試過'system'的標記化形式,例如:'system('curl',' - u「user:pwd'','-d ...',...)'?在posix上,它會將指定的arg矢量直接發送到exec'ed程序,而不會讓shell受阻。 – dbenhur
爲什麼要捲曲?在ruby中,您可以使用Net :: HTTP直接執行此操作。 – dbenhur
謝謝,dbenhur - 今天下午我會給這個標記化表單一個鏡頭。至於你的其他問題,我們的系統運行jruby,本地擴展似乎是網絡的一個問題:HTTP,curb和我發現的其他問題。 – inyourcorner