rejeep / prodigy.el

Manage external services from within Emacs
GNU General Public License v3.0
550 stars 39 forks source link

ENV not gets injected by setting :env #117

Closed ztlevi closed 6 years ago

ztlevi commented 6 years ago

I am trying to inject some ENV before the actual command but it doesn't work for me.

Here are my setting and code.

    (prodigy-define-service
      :name "XXX backend"
      :env '(("REDISCLOUD_URL") ("redis://rediscloud:XXX@XXX"))
      :command "npm"
      :args '("run" "start")
      :cwd "~/Developer/exchange_app/backend"
      :tags '(express)
      :kill-signal 'sigkill
      :kill-process-buffer-on-stop t)
import * as redis from 'redis';
const client = redis.createClient(process.env.REDISCLOUD_URL, {
  no_ready_check: true,
});

Error message here:

> node -r babel-register ./src/bin/www

dns.js:105
    throw new errors.TypeError('ERR_INVALID_ARG_TYPE', 'hostname',
    ^

TypeError [ERR_INVALID_ARG_TYPE]: The "hostname" argument must be one of type string or falsy. Received type object
    at lookup (dns.js:105:11)
    at net.js:1090:5
    at defaultTriggerAsyncIdScope (internal/async_hooks.js:281:19)
    at lookupAndConnect (net.js:1089:3)
    at Socket.connect (net.js:1017:5)
    at Object.connect (net.js:123:35)
Fuco1 commented 6 years ago

The format is like this

:env (list (list "MONGO_HOST" "127.0.0.1"))
ztlevi commented 6 years ago

Great. Thanks for the help!