旅行 Ruby 教程包装器出错



我在理解旅行红宝石教程的部分内容时遇到了问题。

https://github.com/phusion/traveling-ruby/blob/master/TUTORIAL-1.md

#!/bin/bash
set -e
# Figure out where this script is located.
SELFDIR="`dirname "$0"`"
SELFDIR="`cd "$SELFDIR" && pwd`"
# Run the actual app using the bundled Ruby interpreter.
exec "$SELFDIR/lib/ruby/bin/ruby" "$SELFDIR/lib/app/hello.rb"

当我复制并粘贴它时,它似乎不起作用,我不确定最终结果应该是什么,我看不到这将如何浏览目录并找到我的脚本,这就是评论所暗示的(# 找出这个脚本的位置。我不明白为什么它不起作用。

我从粘贴中得到的结果是:

dirname: illegal option -- b
usage: dirname path
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
[Process completed]

完全按照说明进行操作以获得预期的结果。 有一个步骤可能会让您在说明中打乱,假设您在Mac上并运行了健全性检查。 您需要执行cd ..才能向上移动一个目录,然后执行下一步,您需要在正确的目录中创建文件。 它应该在hello_app/packaging/wrapper.sh 这是一个 shell 脚本,它将处理将应用程序打包到其各自的文件夹中。 它不是 ruby 脚本,不能通过 ruby 或 ruby IRB 控制台等执行。

在按照此处的说明对子目录进行 tar 之前hello_app请确保您位于文件夹的根目录中:https://github.com/phusion/traveling-ruby/blob/master/TUTORIAL-1.md#finalizing-packages

这些命令会发生这种情况:

tar -czf hello-1.0.0-linux-x86.tar.gz hello-1.0.0-linux-x86
tar -czf hello-1.0.0-linux-x86_64.tar.gz hello-1.0.0-linux-x86_64
tar -czf hello-1.0.0-osx.tar.gz hello-1.0.0-osx
rm -rf hello-1.0.0-linux-x86
rm -rf hello-1.0.0-linux-x86_64
rm -rf hello-1.0.0-osx

如果你正确地做了所有事情,你最终会得到一个目录结构,比如:

-rw-r--r--  1 someone  staff  5936573 Apr 11 20:17 hello-1.0.0-linux-x86.tar.gz
-rw-r--r--  1 someone  staff  6378021 Apr 11 20:17 hello-1.0.0-linux-x86_64.tar.gz
-rw-r--r--  1 someone  staff  6800089 Apr 11 20:17 hello-1.0.0-osx.tar.gz
-rw-r--r--  1 someone  staff       39 Apr 11 20:10 hello.rb
drwxr-xr-x  6 someone  staff      204 Apr 11 20:13 packaging/
hello_app % ll packaging
total 37328
-rw-r--r--  1 someone  staff  5945007 Apr 11 20:11 traveling-ruby-20141215-2.1.5-linux-x86.tar.gz
-rw-r--r--  1 someone  staff  6388408 Apr 11 20:11 traveling-ruby-20141215-2.1.5-linux-x86_64.tar.gz
-rw-r--r--  1 someone  staff  6769622 Apr 11 20:11 traveling-ruby-20141215-2.1.5-osx.tar.gz
-rwxr-xr-x  1 someone  staff      244 Apr 11 20:13 wrapper.sh*

最新更新