如何在 Windows 8.1 上运行 Elixir 脚本
Posted
技术标签:
【中文标题】如何在 Windows 8.1 上运行 Elixir 脚本【英文标题】:How to run an Elixir escript on Windows 8.1 【发布时间】:2014-12-21 13:13:39 【问题描述】:我正在创建一个混合 escript,一切看起来都很好,但我无法调用生成的 escript 可执行文件。
>混合 escript.build
lib/cmdlineutil.ex:2: warning: variable args is unused
Compiled lib/cmdlineutil.ex
Generated cmdlineutil.app
Consolidated Access
Consolidated Collectable
Consolidated Enumerable
Consolidated Inspect
Consolidated List.Chars
Consolidated Range.Iterator
Consolidated String.Chars
Consolidated protocols written to _build/dev/consolidated
Generated escript cmdlineutil with MIX_ENV=dev
>命令行工具
'cmdlineutil' 未被识别为内部或外部命令, 可运行的程序或批处理文件。
>mv cmdlineutil cmdlineutil.exe
>cmdlineutil.exe
这个版本的 C:\Git\elixir\cmdlineutil\cmdlineutil.exe 不是 与您正在运行的 Windows 版本兼容。检查你的 计算机的系统信息,然后联系软件发行商。
消息框:
不支持的 16 位应用程序
程序或功能“\??\C:\Git\elixir\cmdlineutil\cmdlineutil.exe” 由于与 64 位版本的不兼容而无法启动或运行 视窗。请联系软件供应商询问是否为 64 位 提供 Windows 兼容版本。
lib\cmdlineutil.ex:
defmodule CmdLineUtil.Echo do
def main(args) do
IO.puts "Hello!"
end
end
mix.exs:
defmodule CmdLineUtil.Echo.Mixfile do
use Mix.Project
def project do
[app: :cmdlineutil,
version: "0.0.1",
elixir: "~> 1.0.0",
escript: escript,
deps: deps]
end
def escript do
[main_module: CmdLineUtil.Echo]
end
# Configuration for the OTP application
#
# Type `mix help compile.app` for more information
def application do
[applications: [:logger]]
end
# Dependencies can be Hex packages:
#
# :mydep, "~> 0.3.0"
#
# Or git/path repositories:
#
# :mydep, git: "https://github.com/elixir-lang/mydep.git", tag: "0.1.0"
#
# Type `mix help deps` for more examples and options
defp deps do
[]
end
end
【问题讨论】:
在 cygwin 中运行良好。我在文档中看到了这一点,不确定它是否相关: :shebang - shebang 解释器指令用于执行 escript。默认为“#!/usr/bin/env escript\n”。 噢!有一个 escript 命令。 >escript cmdlineutil 【参考方案1】:Erlang 安装了一个 escript 命令。
>escript cmdlineutil
【讨论】:
以上是关于如何在 Windows 8.1 上运行 Elixir 脚本的主要内容,如果未能解决你的问题,请参考以下文章
在 Windows 8.1 上运行 Windows 10 通用应用
Win32 应用程序是不是也可以在 Windows 7 和 Windows 8/8.1 上运行?
Windows Phone 8.1 应用程序未完全在 Windows 10 设备上运行