【发布时间】:2017-09-01 22:54:07
【问题描述】:
我刚刚使用apt-get 将 Erlang 下载到 Ubuntu 10.10。如何运行 Erlang 附带的示例(您可以通过 apt-get install erlang-examples 获得的示例)。我尝试转到存储它们的目录并编译ball.erl,但出现此错误:
ball.bea#: error writing file
error
【问题讨论】:
标签: erlang
我刚刚使用apt-get 将 Erlang 下载到 Ubuntu 10.10。如何运行 Erlang 附带的示例(您可以通过 apt-get install erlang-examples 获得的示例)。我尝试转到存储它们的目录并编译ball.erl,但出现此错误:
ball.bea#: error writing file
error
【问题讨论】:
标签: erlang
存储这些示例的目录对于普通用户是不可写的。要编译.erl 文件,编译器需要能够写出编译后的.beam 文件。
解决此问题的一种方法是将文件复制到您可以写入的目录并在那里编译它们:
$ mkdir erlex
$ cd erlex
$ cp /usr/lib/erlang/lib/gs-1.5.11/examples/src/* .
$ erlc *.erl
您需要安装 erlang-dev 软件包才能使其工作。
您可以像这样运行ball 示例:
$ erl -s ball
ball这里是模块名,Erlang模拟器默认调用该模块中的start/0函数,在这种情况下是正确的。
但是,您实际上不必编译这些示例。 Ubuntu erlang-examples 软件包已经编译好了:
$ cd /usr/lib/erlang/lib/gs-1.5.11/examples/ebin
$ erl -s ball
关闭每个 GUI 窗口后,说q(). 退出模拟器。在您意识到 Erlang 的所有设计都考虑到了较长的正常运行时间之前,您可能会觉得这很奇怪。仿真器运行的最后一个进程已停止这一事实并不足以让 BEAM 仿真器自行关闭。毕竟,稍后可能会在同一个模拟器中启动其他东西。
【讨论】: