aws-samples / aws-samples/aws-lambda-elixir-runtime

executable file not found in $PATH

Abierto
#13 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Elixir
Estrellas
129
Forks
31
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

I am getting this error when trying to view it in the browser:

```
RequestId: 3f848f5e-4cb4-4820-aa55-fef28313dfd5 Error: exec: "Elixir.NgspiceProxy:hello_world": executable file not found in $PATH
Runtime.InvalidEntrypoint

```

At Lambda setup:

ENTRYPOINT override
Elixir.NgspiceProxy:hello_world

here is my entrypoint: `lib/ngspice_proxy.ex`

```
defmodule NgspiceProxy do
@moduledoc """
Entrypoint for my hello world Lambda function.
"""

require Logger

@doc """
The lambda entrypoint is just a public function in a module which accepts
two maps.
The returned term will be passed to Poison for Json Encoding.
"""
@spec hello_world(Map.t(), Map.t()) :: Term
def hello_world(request, context) when is_map(request) and is_map(context) do
"""
Hello World!
Got reqeust #{Kernel.inspect(request)}
Got Context #{Kernel.inspect(context)}
"""
|> Logger.info()

:ok
end
end

```

`mix.exs`

```
defmodule NgspiceProxy.MixProject do
use Mix.Project

def project do
[
app: :ngspice_proxy,
version: "0.1.0",
elixir: "~> 1.5",
elixirc_paths: elixirc_paths(Mix.env()),
compilers: [:phoenix, :gettext] ++ Mix.compilers(),
start_permanent: Mix.env() == :prod,
aliases: aliases(),
deps: deps()
]
end

def application do
[
mod: {NgspiceProxy.Application, []},
extra_applications: [:logger, :runtime_tools, :edeliver],

]
end

defp deps do
[
{:aws_lambda_elixir_runtime, "~> 0.1.0"},
{:phoenix, "~> 1.4.7"},
{:phoenix_pubsub, "~> 1.1"},
{:phoenix_html, "~> 2.11"},
{:phoenix_live_reload, "~> 1.2", only: :dev},
{:gettext, "~> 0.11"},
{:jason, "~> 1.0"},
{:plug_cowboy, "~> 2.0"},
{:temp, "~> 0.4"},
{:cortex, "~> 0.1", only: [:dev, :test]},
{:edeliver, ">= 1.6.0"},
{:distillery, "~> 2.1.1"},
{:mix_deploy, "~> 0.1.0"},
{:rename, "~> 0.1.0", only: :dev}
]
end

defp aliases do
[
"ecto.setup": ["ecto.create", "ecto.migrate", "run priv/repo/seeds.exs"],
"ecto.reset": ["ecto.drop", "ecto.setup"],
test: ["ecto.create --quiet", "ecto.migrate", "test"]
]
end
end

```

Dockerfile

```
FROM elixir:1.6.6-otp-21 as build
RUN apt-get update
RUN apt-get install -y inotify-tools

WORKDIR /app
COPY . /app
RUN mix local.hex --force
RUN mix local.rebar --force
RUN mix deps.get

RUN mix compile.phoenix

FROM elixir:1.6.6-otp-21-alpine as final
RUN apk update && apk add inotify-tools

WORKDIR /app
COPY --from=build /app .
COPY --from=build /usr/bin/ngspice /usr/bin/ngspice

ENV PATH="${PATH}:/app"

EXPOSE 8080

CMD ["mix", "phx.server"]

```

Any idea ?

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.