0

这是我在 nsis 脚本中的一个函数:

Function rubyDependencies
    DetailPrint "Installing Web Runtime Environment dependencies..."
    ExecWait "gem install rails –v2.3.8"
    ExecWait "gem install rake –v0.8.7"
    ExecWait "gem uninstall rake –v10.0.3"
    ExecWait "rake gems:install"
    DetailPrint "Dependencies installed."
FunctionEnd

我努力了:

ExecWait '"gem install rails -v2.3.8" $0'

0 美元上没有显示任何内容,但宝石列表仍然为空。

有什么帮助吗?

谢谢,特尔莫卡多索

编辑:我仍然有问题。我现在正在使用:

nsExec::ExecToLog '"$INSTDIR\runtime\ruby\bin\gem.bat" install --ignore-dependencies --no-rdoc --no-ri rails -v=2.3.8'

及其生成:

could not find a valid gem '-v=2.3.8'

并安装最新的。很明显,它在参数中传递了一些奇怪的东西。当我在安装程序之外运行命令时,它按预期工作。

有什么帮助吗?

4

1 回答 1

0

正确的语法是ExecWait '"c:\full\path\to\program.exe" param1 "space param" param3' $0. 为了ExecWait '"gem" ...'工作,gem.exe 需要位于CreateProcess搜索的路径中......

于 2013-04-05T17:29:45.913 回答