跳至主要內容

透過 rbenv 安裝的 Ruby 在 Webrick 上 CGI 無法運作的解決方法

· 1 分鐘閱讀

在瀏覽器中執行 CGI 時,發生以下錯誤: /usr/bin/env: 'ruby': No such file or directory

#!/usr/bin/env ruby

# ...

原因

$PATH 未設定。

#!/usr/bin/env bash

echo -ne "Content-type: text/html\n\n"
echo $PATH

執行後會顯示:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

這表示包含 Ruby 的目錄不在其中。

解決方法

使用 :CGIPathEnv 設定 Ruby 路徑。

srv = WEBrick::HTTPServer.new({
:DocumentRoot => "./site/",
:Port => 8080,
:CGIPathEnv => ENV["PATH"]
})

コメント

読み込み中...

コメントを投稿する