lando / setup-lando

Set up your GitHub Actions workflow with a specific version of Lando.
https://docs.lando.dev/install
GNU General Public License v3.0
7 stars 7 forks source link

Error: Could not find a service builder called drupal10 in the builder registry! #49

Open wesleymusgrove opened 3 months ago

wesleymusgrove commented 3 months ago

I'm on Windows 11 and I installed the latest version of Lando v3.21.2 using these instructions: https://docs.lando.dev/install/windows.html#advanced

I already had version v3.20.4 installed, which was removed by the PowerShell installation script.

I have a drupal10 recipe that has worked flawlessly on v3.20.4.

After updating Lando to v3.21.2, I ran lando destroy to remove everything and then ran lando rebuild, but I get this error:

WARN ==> drupal10 is not a supported recipe type.
node:internal/process/promises:288
            triggerUncaughtException(err, true /* fromPromise */);
            ^

Error: Could not find a service builder called drupal10 in the builder registry!
    at Factory.get (C:\snapshot\cli\node_modules\@lando\core\lib\factory.js)
    at C:\snapshot\cli\node_modules\@lando\core\hooks\app-add-recipes.js
    at AsyncEvents.<anonymous> (C:\snapshot\cli\node_modules\@lando\core\app.js)
From previous event:
    at AsyncEvents.handle (C:\snapshot\cli\node_modules\@lando\core\lib\events.js)
    at C:\snapshot\cli\node_modules\@lando\core\lib\events.js
    at process.processImmediate (node:internal/timers:476:21)
From previous event:
    at AsyncEvents.emit (C:\snapshot\cli\node_modules\@lando\core\lib\events.js)
    at C:\snapshot\cli\node_modules\@lando\core\lib\app.js
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

Node.js v18.19.1

I ran lando update for the first time and got this:

$ lando update
Generating plugin/cli update matrix... done [nothing to update]

 PACKAGE            STATUS       COMMENT
 ────────────────── ──────────── ────────
 @lando/cli         ✔ Up to date All good
 @lando/core        ✔ Up to date All good
 @lando/healthcheck ✔ Up to date All good
 @lando/networking  ✔ Up to date All good
 @lando/proxy       ✔ Up to date All good
 @lando/scanner     ✔ Up to date All good
 @lando/sharing     ✔ Up to date All good

As far as lando update can tell you are already up to date!

I ran lando setup and got this:

WARN ==> drupal10 is not a supported recipe type.
node:internal/process/promises:288
            triggerUncaughtException(err, true /* fromPromise */);
            ^

Error: Could not find a service builder called drupal10 in the builder registry!
    at Factory.get (C:\snapshot\cli\node_modules\@lando\core\lib\factory.js)
    at C:\snapshot\cli\node_modules\@lando\core\hooks\app-add-recipes.js
    at AsyncEvents.<anonymous> (C:\snapshot\cli\node_modules\@lando\core\app.js)
From previous event:
    at AsyncEvents.handle (C:\snapshot\cli\node_modules\@lando\core\lib\events.js)
    at C:\snapshot\cli\node_modules\@lando\core\lib\events.js
    at process.processImmediate (node:internal/timers:476:21)
From previous event:
    at AsyncEvents.emit (C:\snapshot\cli\node_modules\@lando\core\lib\events.js)
    at C:\snapshot\cli\node_modules\@lando\core\lib\app.js
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

I ran lando update --debug and now I get this:

$ lando update --debug
  lando starting 'lando' version '3.21.2' runtime selector... +0ms
  lando merged in additional config source from file 'C:\\snapshot\\cli\\config.yml' +30ms
  lando merged in additional config source from file 'C:\\Users\\example\\.lando\\config.yml' +7ms
  lando merged in additional config source from 'LANDO_*' envvars with data { installPath: 'C:\\Program Files\\Lando' } +5ms
  lando final assembled minconf is {
  lando   configSources: [
  lando     'C:\\snapshot\\cli\\config.yml',
  lando     'C:\\Users\\example\\.lando\\config.yml'
  lando   ],
  lando   envPrefix: 'LANDO',
  lando   landoFile: '.lando.yml',
  lando   preLandoFiles: [
  lando     '.lando.base.yml',
  lando     '.lando.dist.yml',
  lando     '.lando.recipe.yml',
  lando     '.lando.upstream.yml'
  lando   ],
  lando   postLandoFiles: [ '.lando.local.yml', '.lando.user.yml' ],
  lando   runtime: 3,
  lando   srcRoot: 'C:\\snapshot\\cli',
  lando   userConfRoot: 'C:\\Users\\example\\.lando',
  lando   product: 'lando',
  lando   hyperdrive: 'hyperdrive',
  lando   channel: 'stable',
  lando   domain: 'ld',
  lando   mode: 'cli',
  lando   stats: [
  lando     { report: true, url: 'https://metrics.lando.dev' },
  lando     { report: false },
  lando     { url: 'https://metrics.devwithlando.io' }
  lando   ],
  lando   orchestratorBin: 'C:\\Program Files\\Docker\\Docker\\resources\\bin\\docker-compose',
  lando   installPath: 'C:\\Program Files\\Lando'
  lando } +1ms
  lando detected an app 'example' at 'C:\\dev\\lando\\exampled10' +32ms
  lando using '@lando/core' runtime version 3 +1ms
  lando starting lando with 'v3' runtime using cli { ENVPREFIX: undefined, LOGLEVELCONSOLE: 4, USERCONFROOT: undefined, COREBASE: '@lando/core' } +12ms
  lando using cli config { args: [ '--dns-result-order=ipv4first' ], commit: false, coreBase: true, dev: false, entrypoint: 'C:/Users/example/.lando/bin/lando', file: 'C:\\Users\\example\\.lando\\bin\\lando.exe', installPath: 'C:\\Users\\example\\.lando\\bin', packaged: true, plugin: 'C:\\snapshot\\cli', slim: true, source: false } +1ms
  lando using cli config { args: [ '--dns-result-order=ipv4first' ], commit: false, coreBase: true, dev: false, entrypoint: 'C:/Users/example/.lando/bin/lando', file: 'C:\\Users\\example\\.lando\\bin\\lando.exe', installPath: 'C:\\Users\\example\\.lando\\bin', packaged: true, plugin: 'C:\\snapshot\\cli', slim: true, source: false } +57ms
  lando starting bootstrap at level APP...  +2ms
  lando config bootstrap beginning...  +6ms
  lando emitting event pre-bootstrap-config  +1ms
  lando plugin '@lando/core' loaded from C:\snapshot\cli\node_modules\@lando\core\index.js  +26ms
  lando plugin '@lando/healthcheck' loaded from C:/snapshot/cli/node_modules/@lando/core/plugins/healthcheck/index.js  +4ms
  lando plugin '@lando/networking' loaded from C:/snapshot/cli/node_modules/@lando/core/plugins/networking/index.js  +2ms
  lando plugin '@lando/proxy' loaded from C:/snapshot/cli/node_modules/@lando/core/plugins/proxy/index.js  +3ms
  lando plugin '@lando/scanner' loaded from C:/snapshot/cli/node_modules/@lando/core/plugins/scanner/index.js  +2ms
  lando plugin '@lando/sharing' loaded from C:/snapshot/cli/node_modules/@lando/core/plugins/sharing/index.js  +1ms
  lando removed duplicate plugin entries %o name=@lando/core, path=C:\snapshot\cli\node_modules\@lando\core, type=local +1ms
  lando emitting event post-bootstrap-config  +2ms
  lando building proxy config...  +1ms
  lando config bootstrap completed.  +3ms
  lando tasks bootstrap beginning...  +1ms
  lando emitting event pre-bootstrap-tasks  +0ms
  lando autoloaded task config  +25ms
  lando autoloaded task destroy  +1ms
  lando autoloaded task info  +0ms
  lando autoloaded task init  +5ms
  lando autoloaded task list  +2ms
  lando autoloaded task logs  +0ms
  lando autoloaded task plugin-add  +0ms
  lando autoloaded task plugin-login  +1ms
  lando autoloaded task plugin-logout  +0ms
  lando autoloaded task plugin-remove  +1ms
  lando autoloaded task poweroff  +0ms
  lando autoloaded task rebuild  +0ms
  lando autoloaded task restart  +1ms
  lando autoloaded task setup  +1ms
  lando autoloaded task share  +1ms
  lando autoloaded task shellenv  +0ms
  lando autoloaded task ssh  +0ms
  lando autoloaded task start  +1ms
  lando autoloaded task stop  +0ms
  lando autoloaded task update  +1ms
  lando autoloaded task version  +0ms
  lando emitting event post-bootstrap-tasks  +10ms
  lando tasks bootstrap completed.  +1ms
  lando engine bootstrap beginning...  +0ms
  lando emitting event pre-bootstrap-engine  +0ms
  lando automoved scripts from C:\snapshot\cli\node_modules\@lando\core\scripts to C:\Users\example\.lando\scripts and set to mode 755  +335ms
  lando automoved scripts from C:\snapshot\cli\node_modules\@lando\core\plugins\proxy\scripts to C:\Users\example\.lando\scripts and set to mode 755  +161ms
  lando automoved scripts from C:\snapshot\cli\node_modules\@lando\core\plugins\sharing\scripts to C:\Users\example\.lando\scripts and set to mode 755  +152ms
  lando emitting event post-bootstrap-engine  +2ms
  lando engine bootstrap completed.  +1ms
  lando app bootstrap beginning...  +0ms
  lando emitting event pre-bootstrap-app  +0ms
  lando autodiscovered legacy api 3 builder _appserver  +3ms
  lando autodiscovered legacy api 3 builder _casetup  +0ms
  lando autodiscovered legacy api 3 builder _init  +1ms
  lando autodiscovered legacy api 3 builder _lando  +0ms
  lando autodiscovered legacy api 3 builder _landoutil  +0ms
  lando autodiscovered legacy api 4 builder _service  +0ms
  lando autodiscovered legacy api 3 builder _service  +0ms
  lando autodiscovered legacy api 3 builder _webserver  +0ms
  lando autodiscovered legacy api 4 builder lando  +0ms
  lando autodiscovered legacy api 3 builder lando  +1ms
  lando autodiscovered legacy api 3 builder _proxy  +0ms
  lando autodiscovered legacy api 3 builder _mounter  +0ms
  lando emitting event post-bootstrap-app  +0ms
  lando app bootstrap completed.  +5ms
  lando bootstrap completed.  +1ms
  lando emitting event post-bootstrap  +0ms
  lando emitting event almost-ready  +0ms
  lando using docker-compose C:\Program Files\Docker\Docker\resources\bin\docker-compose.exe  +1ms
  lando checking docker version compatibility...  +7ms
  lando compatibility results name=compose, link=https://docs.docker.com/desktop/install/windows-install/, satisfied=true, untested=false, rupdate=true, wants=1.x.x || 2.x.x, tested=<=2.27.0, update=<=2.24.6, dockerVersion=true, version=1.29.2, name=desktop, link=https://docs.docker.com/desktop/install/windows-install/, satisfied=true, untested=false, rupdate=true, wants=>=4.0.0 <5, tested=<=4.30.0, update=<=4.28.0, dockerVersion=true, version=4.0.0 +1ms
  lando emitting event ready  +8ms
  lando loading app example from config files 0=C:\dev\lando\exampled10\.lando.yml +8ms
  lando app example has config name=example, recipe=drupal10, XXXXXXXXXXXXXXXX redacted XXXXXXXXXXXXXXXX +2ms
  example initiatilizing app at C:\dev\lando\exampled10...  +7ms
  lando plugin '@lando/core' loaded from C:\snapshot\cli\node_modules\@lando\core\app.js  +14ms
  lando plugin '@lando/healthcheck' loaded from C:\snapshot\cli\node_modules\@lando\core\plugins\healthcheck\app.js  +1ms
  lando plugin '@lando/networking' loaded from C:\snapshot\cli\node_modules\@lando\core\plugins\networking\app.js  +1ms
  example proxy settings detected.  +7ms
  lando plugin '@lando/proxy' loaded from C:\snapshot\cli\node_modules\@lando\core\plugins\proxy\app.js  +2ms
  lando plugin '@lando/scanner' loaded from C:\snapshot\cli\node_modules\@lando\core\plugins\scanner\app.js  +1ms
  lando plugin '@lando/sharing' loaded from C:\snapshot\cli\node_modules\@lando\core\plugins\sharing\app.js  +1ms
  example emitting event pre-init  +2ms
  example WARN drupal10 is not a supported recipe type.  +1ms
  example building drupal10 recipe named  +0ms
node:internal/process/promises:288
            triggerUncaughtException(err, true /* fromPromise */);
            ^

Error: Could not find a service builder called drupal10 in the builder registry!
    at Factory.get (C:\snapshot\cli\node_modules\@lando\core\lib\factory.js)
    at C:\snapshot\cli\node_modules\@lando\core\hooks\app-add-recipes.js
    at AsyncEvents.<anonymous> (C:\snapshot\cli\node_modules\@lando\core\app.js)
From previous event:
    at AsyncEvents.handle (C:\snapshot\cli\node_modules\@lando\core\lib\events.js)
    at C:\snapshot\cli\node_modules\@lando\core\lib\events.js
    at process.processImmediate (node:internal/timers:476:21)
From previous event:
    at AsyncEvents.emit (C:\snapshot\cli\node_modules\@lando\core\lib\events.js)
    at C:\snapshot\cli\node_modules\@lando\core\lib\app.js
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

Node.js v18.19.1

Not sure if it could be related at all, but the 2nd step of the advanced installation instructions say to run Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser, however that's not allowed at my organization, so that command failed. I continued running .\setup-lando.ps1 -WSLOnly after that, though.

Execution Policy Change
The execution policy helps protect you from scripts that you do not trust. Changing the execution policy might expose
you to the security risks described in the about_Execution_Policies help topic at
https:/go.microsoft.com/fwlink/?LinkID=135170. Do you want to change the execution policy?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"): Y
Set-ExecutionPolicy : Windows PowerShell updated your execution policy successfully, but the setting is overridden by
a policy defined at a more specific scope.  Due to the override, your shell will retain its current effective
execution policy of RemoteSigned. Type "Get-ExecutionPolicy -List" to view your execution policy settings. For more
information please see "Get-Help Set-ExecutionPolicy".
At line:1 char:1
+ Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : PermissionDenied: (:) [Set-ExecutionPolicy], SecurityException
    + FullyQualifiedErrorId : ExecutionPolicyOverride,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand

Any ideas of what's going on here?

wesleymusgrove commented 3 months ago

Oh... it seems that I need to run lando setup outside of the directory where my .lando.yml file is......

image

wesleymusgrove commented 3 months ago

Hmm well it installed all the plugins, but still needs docker-compose, but that throws a "socket hang up" error.

image

Here's the relevant output from lando setup --debug:

 THING                                            STATUS          COMMENT
 ──────────────────────────────────────────────── ─────────────── ──────────────────────────────────────
 @lando/build-engine (docker-desktop)             ✔ Installed     Dialed
 @lando/build-engine-group (example@docker-users) ✔ Installed     Dialed
 @lando/orchestrator (docker-compose)             ⚠ Not Installed Will install docker-compose vundefined

Lando would like to run the 1 setup tasks listed above.
DO YOU CONSENT?: Y
  lando emitting event pre-setup  +2460ms
  lando engine is up.  +2619ms
  lando [STARTED] Downloading orchestrator  +3ms
  lando [FAILED] socket hang up  +590ms
  lando ran 0 of 0 tasks with 1 errors  +1ms
  lando emitting event post-setup  +1ms

  lando {"message":"socket hang up","name":"Error","stack":"Error: socket hang up\n    at Function.from (C:\\snapshot\\cli\\node_modules\\@lando\\core\\node_modules\\axios\\dist\\node\\axios.cjs)\n    at RedirectableRequest.handleRequestError (C:\\snapshot\\cli\\node_modules\\@lando\\core\\node_modules\\axios\\dist\\node\\axios.cjs)\n    at RedirectableRequest.emit (node:events:517:28)\n    at ClientRequest.<anonymous> (C:\\snapshot\\cli\\node_modules\\@lando\\core\\node_modules\\follow-redirects\\index.js:38:24)\n    at ClientRequest.emit (node:events:517:28)\n    at Socket.socketOnEnd (node:_http_client:525:9)\n    at Socket.emit (node:events:529:35)\n    at endReadableNT (node:internal/streams/readable:1400:12)\n    at process.processTicksAndRejections (node:internal/process/task_queues:82:21)","config":{"transitional":{"silentJSONParsing":true,"forcedJSONParsing":true,"clarifyTimeoutError":false},"adapter":["xhr","http"],"transformRequest":[null],"transformResponse":[null],"timeout":0,"xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1,"env":{},"headers":{"Accept":"application/json, text/plain, */*","User-Agent":"axios/1.6.2","Accept-Encoding":"gzip, compress, deflate, br"},"httpsAgent":{"_events":{},"_eventsCount":2,"defaultPort":443,"protocol":"https:","options":{"rejectUnauthorized":false,"family":4,"noDelay":true,"path":null},"requests":{},"sockets":{},"freeSockets":{},"keepAliveMsecs":1000,"keepAlive":false,"maxSockets":null,"maxFreeSockets":256,"scheduling":"lifo","maxTotalSockets":null,"totalSocketCount":0,"maxCachedSessions":100,"_sessionCache":{"map":{},"list":[]}},"httpAgent":{"_events":{},"_eventsCount":2,"defaultPort":80,"protocol":"http:","options":{"family":4,"noDelay":true,"path":null},"requests":{},"sockets":{"localhost:9000::4":[{"connecting":false,"_hadError":true,"_parent":null,"_host":"localhost","_closeAfterHandlingError":false,"_readableState":{"state":61462,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":true,"errored":null,"defaultEncoding":"utf8","awaitDrainWriters":null,"decoder":null,"encoding":null},"_events":{"end":[null,null],"close":[null,null]},"_eventsCount":8,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":true,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":false,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"constructed":true,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":true,"errored":null,"closed":true,"closeEmitted":true},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null,"parser":null,"_httpMessage":{"_events":{},"_eventsCount":7,"outputData":[],"outputSize":0,"writable":true,"destroyed":false,"_last":true,"chunkedEncoding":false,"shouldKeepAlive":false,"maxRequestsOnConnectionReached":false,"_defaultKeepAlive":true,"useChunkedEncodingByDefault":false,"sendDate":false,"_removedConnection":false,"_removedContLen":false,"_removedTE":false,"strictContentLength":false,"_contentLength":0,"_hasBody":true,"_trailer":"","finished":true,"_headerSent":true,"_closed":false,"_header":"GET https://github.com/docker/compose/releases/download/v2.21.0/docker-compose-windows-x86_64.exe HTTP/1.1\r\nAccept: application/json, text/plain, */*\r\nUser-Agent: axios/1.6.2\r\nAccept-Encoding: gzip, compress, deflate, br\r\nhost: github.com\r\nConnection: close\r\n\r\n","_keepAliveTimeout":0,"method":"GET","path":"https://github.com/docker/compose/releases/download/v2.21.0/docker-compose-windows-x86_64.exe","_ended":false,"res":null,"aborted":false,"timeoutCb":null,"upgradeOrConnect":false,"parser":null,"maxHeadersCount":null,"reusedSocket":false,"host":"localhost","protocol":"http:","_redirectable":{"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":true,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"constructed":true,"prefinished":false,"errorEmitted":false,"emitClose":true,"autoDestroy":true,"errored":null,"closed":false,"closeEmitted":false},"_events":{},"_eventsCount":3,"_options":{"maxRedirects":21,"maxBodyLength":null,"protocol":"http:","path":"https://github.com/docker/compose/releases/download/v2.21.0/docker-compose-windows-x86_64.exe","method":"GET","headers":{"Accept":"application/json, text/plain, */*","User-Agent":"axios/1.6.2","Accept-Encoding":"gzip, compress, deflate, br","host":"github.com"},"agents":{"https":{"_events":{},"_eventsCount":2,"defaultPort":443,"protocol":"https:","options":{"rejectUnauthorized":false,"family":4,"noDelay":true,"path":null},"requests":{},"sockets":{},"freeSockets":{},"keepAliveMsecs":1000,"keepAlive":false,"maxSockets":null,"maxFreeSockets":256,"scheduling":"lifo","maxTotalSockets":null,"totalSocketCount":0,"maxCachedSessions":100,"_sessionCache":{"map":{},"list":[]}}},"beforeRedirects":{},"hostname":"localhost","port":"9000","nativeProtocols":{"http:":{"METHODS":["ACL","BIND","CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LINK","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCALENDAR","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REBIND","REPORT","SEARCH","SOURCE","SUBSCRIBE","TRACE","UNBIND","UNLINK","UNLOCK","UNSUBSCRIBE"],"STATUS_CODES":{"100":"Continue","101":"Switching Protocols","102":"Processing","103":"Early Hints","200":"OK","201":"Created","202":"Accepted","203":"Non-Authoritative Information","204":"No Content","205":"Reset Content","206":"Partial Content","207":"Multi-Status","208":"Already Reported","226":"IM Used","300":"Multiple Choices","301":"Moved Permanently","302":"Found","303":"See Other","304":"Not Modified","305":"Use Proxy","307":"Temporary Redirect","308":"Permanent Redirect","400":"Bad Request","401":"Unauthorized","402":"Payment Required","403":"Forbidden","404":"Not Found","405":"Method Not Allowed","406":"Not Acceptable","407":"Proxy Authentication Required","408":"Request Timeout","409":"Conflict","410":"Gone","411":"Length Required","412":"Precondition Failed","413":"Payload Too Large","414":"URI Too Long","415":"Unsupported Media Type","416":"Range Not Satisfiable","417":"Expectation Failed","418":"I'm a Teapot","421":"Misdirected Request","422":"Unprocessable Entity","423":"Locked","424":"Failed Dependency","425":"Too Early","426":"Upgrade Required","428":"Precondition Required","429":"Too Many Requests","431":"Request Header Fields Too Large","451":"Unavailable For Legal Reasons","500":"Internal Server Error","501":"Not Implemented","502":"Bad Gateway","503":"Service Unavailable","504":"Gateway Timeout","505":"HTTP Version Not Supported","506":"Variant Also Negotiates","507":"Insufficient Storage","508":"Loop Detected","509":"Bandwidth Limit Exceeded","510":"Not Extended","511":"Network Authentication Required"},"maxHeaderSize":16384,"globalAgent":{"_events":{},"_eventsCount":2,"defaultPort":80,"protocol":"http:","options":{"noDelay":true,"path":null},"requests":{},"sockets":{},"freeSockets":{},"keepAliveMsecs":1000,"keepAlive":false,"maxSockets":null,"maxFreeSockets":256,"scheduling":"lifo","maxTotalSockets":null,"totalSocketCount":0}},"https:":{"globalAgent":{"_events":{},"_eventsCount":2,"defaultPort":443,"protocol":"https:","options":{"noDelay":true,"path":null},"requests":{},"sockets":{"captive.apple.com:443::4::::::::::::::::::::":[{"_tlsOptions":{"pipe":false,"secureContext":{"context":{}},"isServer":false,"requestCert":true,"rejectUnauthorized":true},"_secureEstablished":false,"_securePending":false,"_newSessionPending":false,"_controlReleased":true,"secureConnecting":true,"_SNICallback":null,"servername":null,"alpnProtocol":null,"authorized":false,"authorizationError":null,"encrypted":true,"_events":{"close":[null,null,null,null,null],"end":[null,null,null],"connect":[null,null,null,null]},"_eventsCount":12,"connecting":true,"_hadError":false,"_parent":null,"_host":"captive.apple.com","_closeAfterHandlingError":false,"_readableState":{"state":4184,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":true,"errored":null,"defaultEncoding":"utf8","awaitDrainWriters":null,"decoder":null,"encoding":null},"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":162,"writing":true,"corked":0,"sync":false,"bufferProcessing":false,"writelen":162,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":1,"constructed":true,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":true,"errored":null,"closed":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":"GET /hotspot-detect.html HTTP/1.1\r\nuser-agent: CaptiveNetworkSupport/1.0 wispr\r\naccept-encoding: gzip, deflate, br\r\nHost: captive.apple.com\r\nConnection: close\r\n\r\n","_pendingEncoding":"latin1","_server":null,"ssl":{"_parent":{"reading":false,"onconnection":null},"_parentWrap":null,"_secureContext":{"context":{}},"reading":false},"_requestCert":true,"_rejectUnauthorized":true,"parser":{"0":null,"5":null,"6":null,"_headers":[],"_url":"","incoming":null,"outgoing":{"_events":{"finish":[null,null],"response":[null,null,null],"error":[null,null]},"_eventsCount":11,"outputData":[],"outputSize":0,"writable":true,"destroyed":false,"_last":true,"chunkedEncoding":false,"shouldKeepAlive":false,"maxRequestsOnConnectionReached":false,"_defaultKeepAlive":true,"useChunkedEncodingByDefault":false,"sendDate":false,"_removedConnection":false,"_removedContLen":false,"_removedTE":false,"strictContentLength":false,"_contentLength":0,"_hasBody":true,"_trailer":"","finished":true,"_headerSent":true,"_closed":false,"_header":"GET /hotspot-detect.html HTTP/1.1\r\nuser-agent: CaptiveNetworkSupport/1.0 wispr\r\naccept-encoding: gzip, deflate, br\r\nHost: captive.apple.com\r\nConnection: close\r\n\r\n","_keepAliveTimeout":0,"method":"GET","path":"/hotspot-detect.html","_ended":false,"res":null,"aborted":false,"timeoutCb":null,"upgradeOrConnect":false,"maxHeadersCount":null,"reusedSocket":false,"host":"captive.apple.com","protocol":"https:","timings":{"start":1721273459437,"socket":1721273459437,"lookup":1721273459438,"phases":{"wait":0,"dns":1}}},"maxHeaderPairs":2000,"_consumed":false},"_httpMessage":{"_events":{"finish":[null,null],"response":[null,null,null],"error":[null,null]},"_eventsCount":11,"outputData":[],"outputSize":0,"writable":true,"destroyed":false,"_last":true,"chunkedEncoding":false,"shouldKeepAlive":false,"maxRequestsOnConnectionReached":false,"_defaultKeepAlive":true,"useChunkedEncodingByDefault":false,"sendDate":false,"_removedConnection":false,"_removedContLen":false,"_removedTE":false,"strictContentLength":false,"_contentLength":0,"_hasBody":true,"_trailer":"","finished":true,"_headerSent":true,"_closed":false,"_header":"GET /hotspot-detect.html HTTP/1.1\r\nuser-agent: CaptiveNetworkSupport/1.0 wispr\r\naccept-encoding: gzip, deflate, br\r\nHost: captive.apple.com\r\nConnection: close\r\n\r\n","_keepAliveTimeout":0,"method":"GET","path":"/hotspot-detect.html","_ended":false,"res":null,"aborted":false,"timeoutCb":null,"upgradeOrConnect":false,"parser":{"0":null,"5":null,"6":null,"_headers":[],"_url":"","incoming":null,"maxHeaderPairs":2000,"_consumed":false},"maxHeadersCount":null,"reusedSocket":false,"host":"captive.apple.com","protocol":"https:","timings":{"start":1721273459437,"socket":1721273459437,"lookup":1721273459438,"phases":{"wait":0,"dns":1}}}},{"_tlsOptions":{"pipe":false,"secureContext":{"context":{}},"isServer":false,"requestCert":true,"rejectUnauthorized":true},"_secureEstablished":false,"_securePending":false,"_newSessionPending":false,"_controlReleased":true,"secureConnecting":true,"_SNICallback":null,"servername":null,"alpnProtocol":null,"authorized":false,"authorizationError":null,"encrypted":true,"_events":{"close":[null,null,null,null,null],"end":[null,null,null],"connect":[null,null,null,null]},"_eventsCount":12,"connecting":true,"_hadError":false,"_parent":null,"_host":"captive.apple.com","_closeAfterHandlingError":false,"_readableState":{"state":4184,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":true,"errored":null,"defaultEncoding":"utf8","awaitDrainWriters":null,"decoder":null,"encoding":null},"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":162,"writing":true,"corked":0,"sync":false,"bufferProcessing":false,"writelen":162,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":1,"constructed":true,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":true,"errored":null,"closed":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":"GET /hotspot-detect.html HTTP/1.1\r\nuser-agent: CaptiveNetworkSupport/1.0 wispr\r\naccept-encoding: gzip, deflate, br\r\nHost: captive.apple.com\r\nConnection: close\r\n\r\n","_pendingEncoding":"latin1","_server":null,"ssl":{"_parent":{"reading":false,"onconnection":null},"_parentWrap":null,"_secureContext":{"context":{}},"reading":false},"_requestCert":true,"_rejectUnauthorized":true,"parser":{"0":null,"5":null,"6":null,"_headers":[],"_url":"","incoming":null,"outgoing":{"_events":{"finish":[null,null],"response":[null,null,null],"error":[null,null]},"_eventsCount":11,"outputData":[],"outputSize":0,"writable":true,"destroyed":false,"_last":true,"chunkedEncoding":false,"shouldKeepAlive":false,"maxRequestsOnConnectionReached":false,"_defaultKeepAlive":true,"useChunkedEncodingByDefault":false,"sendDate":false,"_removedConnection":false,"_removedContLen":false,"_removedTE":false,"strictContentLength":false,"_contentLength":0,"_hasBody":true,"_trailer":"","finished":true,"_headerSent":true,"_closed":false,"_header":"GET /hotspot-detect.html HTTP/1.1\r\nuser-agent: CaptiveNetworkSupport/1.0 wispr\r\naccept-encoding: gzip, deflate, br\r\nHost: captive.apple.com\r\nConnection: close\r\n\r\n","_keepAliveTimeout":0,"method":"GET","path":"/hotspot-detect.html","_ended":false,"res":null,"aborted":false,"timeoutCb":null,"upgradeOrConnect":false,"maxHeadersCount":null,"reusedSocket":false,"host":"captive.apple.com","protocol":"https:","timings":{"start":1721273460583,"socket":1721273460584,"lookup":1721273460586,"phases":{"wait":1,"dns":2}}},"maxHeaderPairs":2000,"_consumed":false},"_httpMessage":{"_events":{"finish":[null,null],"response":[null,null,null],"error":[null,null]},"_eventsCount":11,"outputData":[],"outputSize":0,"writable":true,"destroyed":false,"_last":true,"chunkedEncoding":false,"shouldKeepAlive":false,"maxRequestsOnConnectionReached":false,"_defaultKeepAlive":true,"useChunkedEncodingByDefault":false,"sendDate":false,"_removedConnection":false,"_removedContLen":false,"_removedTE":false,"strictContentLength":false,"_contentLength":0,"_hasBody":true,"_trailer":"","finished":true,"_headerSent":true,"_closed":false,"_header":"GET /hotspot-detect.html HTTP/1.1\r\nuser-agent: CaptiveNetworkSupport/1.0 wispr\r\naccept-encoding: gzip, deflate, br\r\nHost: captive.apple.com\r\nConnection: close\r\n\r\n","_keepAliveTimeout":0,"method":"GET","path":"/hotspot-detect.html","_ended":false,"res":null,"aborted":false,"timeoutCb":null,"upgradeOrConnect":false,"parser":{"0":null,"5":null,"6":null,"_headers":[],"_url":"","incoming":null,"maxHeaderPairs":2000,"_consumed":false},"maxHeadersCount":null,"reusedSocket":false,"host":"captive.apple.com","protocol":"https:","timings":{"start":1721273460583,"socket":1721273460584,"lookup":1721273460586,"phases":{"wait":1,"dns":2}}}}],"icanhazip.com:443::4::::::::::::::::::::":[{"_tlsOptions":{"pipe":false,"secureContext":{"context":{}},"isServer":false,"requestCert":true,"rejectUnauthorized":true},"_secureEstablished":false,"_securePending":false,"_newSessionPending":false,"_controlReleased":true,"secureConnecting":true,"_SNICallback":null,"servername":null,"alpnProtocol":null,"authorized":false,"authorizationError":null,"encrypted":true,"_events":{"close":[null,null,null,null,null],"end":[null,null,null],"connect":[null,null,null,null,null]},"_eventsCount":12,"connecting":true,"_hadError":false,"_parent":null,"_host":"icanhazip.com","_closeAfterHandlingError":false,"_readableState":{"state":4184,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":true,"errored":null,"defaultEncoding":"utf8","awaitDrainWriters":null,"decoder":null,"encoding":null},"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":151,"writing":true,"corked":0,"sync":false,"bufferProcessing":false,"writelen":151,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":1,"constructed":true,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":true,"errored":null,"closed":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":"GET / HTTP/1.1\r\nuser-agent: got/9.6.0 (https://github.com/sindresorhus/got)\r\naccept-encoding: gzip, deflate\r\nHost: icanhazip.com\r\nConnection: close\r\n\r\n","_pendingEncoding":"latin1","_server":null,"ssl":{"_parent":{"reading":false,"onconnection":null},"_parentWrap":null,"_secureContext":{"context":{}},"reading":false},"_requestCert":true,"_rejectUnauthorized":true,"parser":{"0":null,"5":null,"6":null,"_headers":[],"_url":"","incoming":null,"outgoing":{"_events":{"response":[null,null,null,null],"error":[null,null,null],"finish":[null,null]},"_eventsCount":3,"outputData":[],"outputSize":0,"writable":true,"destroyed":false,"_last":true,"chunkedEncoding":false,"shouldKeepAlive":false,"maxRequestsOnConnectionReached":false,"_defaultKeepAlive":true,"useChunkedEncodingByDefault":false,"sendDate":false,"_removedConnection":false,"_removedContLen":false,"_removedTE":false,"strictContentLength":false,"_contentLength":0,"_hasBody":true,"_trailer":"","finished":true,"_headerSent":true,"_closed":false,"_header":"GET / HTTP/1.1\r\nuser-agent: got/9.6.0 (https://github.com/sindresorhus/got)\r\naccept-encoding: gzip, deflate\r\nHost: icanhazip.com\r\nConnection: close\r\n\r\n","_keepAliveTimeout":0,"method":"GET","path":"/","_ended":false,"res":null,"aborted":false,"timeoutCb":null,"upgradeOrConnect":false,"maxHeadersCount":null,"reusedSocket":false,"host":"icanhazip.com","protocol":"https:"},"maxHeaderPairs":2000,"_consumed":false},"_httpMessage":{"_events":{"response":[null,null,null,null],"error":[null,null,null],"finish":[null,null]},"_eventsCount":3,"outputData":[],"outputSize":0,"writable":true,"destroyed":false,"_last":true,"chunkedEncoding":false,"shouldKeepAlive":false,"maxRequestsOnConnectionReached":false,"_defaultKeepAlive":true,"useChunkedEncodingByDefault":false,"sendDate":false,"_removedConnection":false,"_removedContLen":false,"_removedTE":false,"strictContentLength":false,"_contentLength":0,"_hasBody":true,"_trailer":"","finished":true,"_headerSent":true,"_closed":false,"_header":"GET / HTTP/1.1\r\nuser-agent: got/9.6.0 (https://github.com/sindresorhus/got)\r\naccept-encoding: gzip, deflate\r\nHost: icanhazip.com\r\nConnection: close\r\n\r\n","_keepAliveTimeout":0,"method":"GET","path":"/","_ended":false,"res":null,"aborted":false,"timeoutCb":null,"upgradeOrConnect":false,"parser":{"0":null,"5":null,"6":null,"_headers":[],"_url":"","incoming":null,"maxHeaderPairs":2000,"_consumed":false},"maxHeadersCount":null,"reusedSocket":false,"host":"icanhazip.com","protocol":"https:"}}]},"freeSockets":{},"keepAliveMsecs":1000,"keepAlive":false,"maxSockets":null,"maxFreeSockets":256,"scheduling":"lifo","maxTotalSockets":null,"totalSocketCount":3,"maxCachedSessions":100,"_sessionCache":{"map":{},"list":[]}}}},"pathname":"https://github.com/docker/compose/releases/download/v2.21.0/docker-compose-windows-x86_64.exe"},"_ended":true,"_ending":true,"_redirectCount":0,"_redirects":[],"_requestBodyLength":0,"_requestBodyBuffers":[],"_currentUrl":"https://github.com/docker/compose/releases/download/v2.21.0/docker-compose-windows-x86_64.exe"}}}]},"freeSockets":{},"keepAliveMsecs":1000,"keepAlive":false,"maxSockets":null,"maxFreeSockets":256,"scheduling":"lifo","maxTotalSockets":null,"totalSocketCount":1},"url":"https://github.com/docker/compose/releases/download/v2.21.0/docker-compose-windows-x86_64.exe","responseType":"stream","method":"get"},"code":"ECONNRESET","status":null}  +3ms
  lando ERROR Error: A setup error occured! Rerun with lando setup --debug for more info.
    at Object.run (C:\snapshot\cli\node_modules\@lando\core\tasks\setup.js)
From previous event:
    at process.processImmediate (node:internal/timers:476:21)
From previous event:
    at Object.handler (C:\snapshot\cli\lib\cli.js)
    at Object.runCommand (C:\snapshot\cli\node_modules\yargs\lib\command.js:238:44)
    at Object.parseArgs [as _parseArgs] (C:\snapshot\cli\node_modules\yargs\yargs.js:1063:30)
    at Function.get [as argv] (C:\snapshot\cli\node_modules\yargs\yargs.js:1004:21)
    at Cli.init (C:\snapshot\cli\lib\cli.js)
    at Cli.run (C:\snapshot\cli\lib\cli.js)
    at Object.<anonymous> (C:\snapshot\cli\bin\lando)
    at Module._compile (pkg/prelude/bootstrap.js:1930:22)
    at Module._extensions..js (node:internal/modules/cjs/loader:1414:10)
    at Module.load (node:internal/modules/cjs/loader:1197:32)
    at Module._load (node:internal/modules/cjs/loader:1013:12)
    at Function.runMain (pkg/prelude/bootstrap.js:1983:12)
    at node:internal/main/run_main_module:28:49  +12ms
wesleymusgrove commented 3 months ago

I restarted my computer and now it thinks my user isn't already part of the docker-users group, but before I restarted it said this was already "Dialed". I confirmed in my Computer Management > System Tools > Local Users and Groups > Groups that the user account it's trying to add is already in the docker-users group. I don't know why lando setup thinks it's not.

image

AaronFeledy commented 3 months ago

It seems like the initial install didn't succeed and left things in a broken state. You linked to the advanced instructions, which say to adapt the example to your needs. Can you say what adaptations you made?

The logs show that lando thinks it should be installing things in the profile of a user named "example" which would cause a lot of problems if that's not your username. Could be the result of some incorrect parameters during the install.

You might want to delete the ".lando" directory from your C:\Users\YOURNAME directory, if it exists, then reinstall Lando with the defaults to make sure it wasn't an issue with the advanced install parameters.

wesleymusgrove commented 3 months ago

Hey sure, the adaptations I made for the advanced instructions were to run it with the -NoWSL flag because I already have WSL installed and managed by Docker Desktop. I am intending to install Lando in the Windows file system (not inside WSL) because my organization prohibits installing things inside WSL (I narrowly got them to approve the use of Docker Desktop using WSL2 as a backend engine with the docker-desktop and docker-desktop-data distros it creates).

I did a find/replace on my real username with "example" before pasting that output here.

On the 2nd step of the advanced installation instructions it says to run Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser, however that's not allowed at my organization, so that command failed. I continued running .\setup-lando.ps1 -NoWSL after that. Here's the output when it failed to elevate the execution policy to Unrestricted. I was already running Powershell with Windows Administrative privileges, so I don't know if this command is necessary (and if so, why is it not necessary for the non-advanced install method)?

Execution Policy Change
The execution policy helps protect you from scripts that you do not trust. Changing the execution policy might expose
you to the security risks described in the about_Execution_Policies help topic at
https:/go.microsoft.com/fwlink/?LinkID=135170. Do you want to change the execution policy?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"): Y
Set-ExecutionPolicy : Windows PowerShell updated your execution policy successfully, but the setting is overridden by
a policy defined at a more specific scope.  Due to the override, your shell will retain its current effective
execution policy of RemoteSigned. Type "Get-ExecutionPolicy -List" to view your execution policy settings. For more
information please see "Get-Help Set-ExecutionPolicy".
At line:1 char:1
+ Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : PermissionDenied: (:) [Set-ExecutionPolicy], SecurityException
    + FullyQualifiedErrorId : ExecutionPolicyOverride,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand
AaronFeledy commented 3 months ago

The execution policy is a system policy that is effective regardless of whether you're an admin. It has you run that command to change the policy because Windows doesn't allow you to run scripts at all by default. If the script did run for you, the more specific policy set by your org was to allow the script which means you can ignore that error. The reason you don't need to do this when using the one-liner is that the commands used there are streaming the downloaded text into the execution environment rather than saving and then running a script file. Since there's no actual script saved on the computer, Windows behaves as though you're typing the lines of the script into powershell yourself.

You mentioned that you ran this in an elevated prompt. I think that may have caused some issues because most of the installation needs to occur in your non-elevated profile. It really only needs the elevation to install Docker and an elevated prompt may have caused some things such as docker-compose to be installed in a non-shared admin user space instead of your own. I would remove the .lando directory from your user directory, and also, if there's an admin user, check for a .lando directory there and delete it. Then run the install script in a non-elevated powershell.

wesleymusgrove commented 3 months ago

Interesting! I appreciate the explanation! I just assumed it needed to be ran from PowerShell with admin privileges because my organization requires that in order to install anything. For example, the legacy Lando EXE installer had to be ran with admin privileges for my non-admin user account to run lando start.

I ran the PowerShell installer script .\setup-lando.ps1 -NoWSL with admin privileges, but now that Lando has been installed, I'm running lando setup from a normal bash prompt without elevated privileges. When it thinks it needs to add my normal non-admin user account to the docker-users group, it's UAC prompting me for an admin username/password in order to do that.

I'll try the suggestions you mentioned about removing the .lando directory. As info, I don't have an admin user locally on my machine because my organization manages a program called PrivMan to control what's allowed to run with admin privileges on a case-by-case basis.

AaronFeledy commented 3 months ago

It's also worth noting that if the only WSL instances on your machine are the ones created by Docker Desktop, then there's no need to run the install script with the -NoWSL because the script skips those distros anyway. It won't do anything in WSL if there are no other active distros.

wesleymusgrove commented 3 months ago

Good info. I do happen to have one other Ubuntu distro installed, so it tries to use that and I'm supposed to prevent it from doing that, to abide by my organization's security policy.

I'm curious about the reason why it thought my docker-users group was originally "Dialed", but then after a reboot it was no longer "Dialed".

image image

Before wiping out my .lando directory, I thought it was interesting that my config.yml has this in it:

orchestratorBin: 'C:\Program Files\Docker\Docker\resources\bin\docker-compose'

Is @lando/orchestrator different than the docker-compose that Docker Desktop has already installed?

Also, this seems like a dumb question, but how do I uninstall this new version of Lando? It's not listed in my Windows Control Panel > Programs and Features. which lando returns C:\Users\username\.lando\bin\lando.

wesleymusgrove commented 3 months ago

I removed the .lando folder and re-ran .\setup-lando.ps1 -NoWSL and lando setup in a Powershell prompt without elevated permissions. It's getting some timeouts on a few of these plugins.

Lando would like to install the 35 plugins listed above.
DO YOU CONSENT?: Y

√ Installed @lando/lagoon@1.2.0 to C:\Users\username\.lando\plugins\@lando\lagoon
√ Installed @lando/lamp@1.4.0 to C:\Users\username\.lando\plugins\@lando\lamp
/ Adding @lando/laravel@latest
√ Installed @lando/lemp@1.4.0 to C:\Users\username\.lando\plugins\@lando\lemp
√ Installed @lando/mailhog@1.1.0 to C:\Users\username\.lando\plugins\@lando\mailhog
√ Installed @lando/mariadb@1.3.0 to C:\Users\username\.lando\plugins\@lando\mariadb
√ Installed @lando/mean@1.2.0 to C:\Users\username\.lando\plugins\@lando\mean
√ Installed @lando/memcached@1.2.0 to C:\Users\username\.lando\plugins\@lando\memcached
× request to https://registry.npmjs.org/@lando%2fmongo failed, reason: A "socket" was not created for HTTP request
before 300000ms
√ Installed @lando/mssql@1.2.0 to C:\Users\username\.lando\plugins\@lando\mssql
√ Installed @lando/mysql@1.2.0 to C:\Users\username\.lando\plugins\@lando\mysql
× request to https://registry.npmjs.org/@lando%2fnginx failed, reason: A "socket" was not created for HTTP request
before 300000ms
√ Installed @lando/node@1.2.0 to C:\Users\username\.lando\plugins\@lando\node
/ Adding @lando/pantheon@latest
√ Installed @lando/php@1.3.0 to C:\Users\username\.lando\plugins\@lando\php
√ Installed @lando/phpmyadmin@1.1.0 to C:\Users\username\.lando\plugins\@lando\phpmyadmin
√ Installed @lando/platformsh@0.9.0 to C:\Users\username\.lando\plugins\@lando\platformsh
√ Installed @lando/postgres@1.3.0 to C:\Users\username\.lando\plugins\@lando\postgres
√ Installed @lando/python@1.1.0 to C:\Users\username\.lando\plugins\@lando\python
√ Installed @lando/redis@1.1.0 to C:\Users\username\.lando\plugins\@lando\redis
√ Installed @lando/ruby@1.2.1 to C:\Users\username\.lando\plugins\@lando\ruby
√ Installed @lando/solr@1.1.0 to C:\Users\username\.lando\plugins\@lando\solr
/ Adding @lando/symfony@latest
√ Installed @lando/tomcat@1.1.0 to C:\Users\username\.lando\plugins\@lando\tomcat
√ Installed @lando/varnish@1.1.0 to C:\Users\username\.lando\plugins\@lando\varnish
√ Installed @lando/wordpress@1.4.0 to C:\Users\username\.lando\plugins\@lando\wordpress

image

AaronFeledy commented 3 months ago

It's no longer installed as a traditional Windows application since it really isn't one. You can delete the .lando directory and the %LocalAppData%\Lando directory to remove everything.

Lando will download and use its own version of docker-compose into .lando if the version you have installed is not in the range it likes.

Does it succeed if you run lando setup again?

wesleymusgrove commented 3 months ago

I re-ran lando setup --debug again and it installed the nginx and mongo plugins that failed previously.

Then it got to this point and prompted me for UAC elevation to add my username to the docker-users group. I entered my normal Windows username/password credentials and it failed.

image

Debug logs after that point:

lando emitting event pre-setup  +0ms
  lando engine is up.  +2441ms
  lando [STARTED] Downloading orchestrator  +5ms
  lando [STARTED] Adding username to docker-users group  +1ms
  lando running elevated command 'run-elevated' %o %o 0=-cmd, 1=net,localgroup,docker-users,username,/ADD, 2=-debug +22965ms
  lando running powershell script 'C:\\Users\\username\\AppData\\Local\\Temp\\Qr-7aqJDQrawUFceaD7j7.ps1' %o 0=-cmd, 1=net,localgroup,docker-users,username,/ADD, 2=-debug +11ms
  lando [FAILED] socket hang up  +1770ms
  lando 'run-elevated' stdout 'DEBUG: running elevated command:'  +1146ms
  lando 'run-elevated' stdout %o  +2ms
  lando 'run-elevated' stdout 'DEBUG: CMD: net localgroup docker-users username /ADD'  +1ms
  lando 'run-elevated' stdout 'DEBUG: DEBUG: True'  +1ms
  lando 'run-elevated' stdout %o  +1ms
  lando 'run-elevated' stdout 'DEBUG: STDOUTPATH: C:\\Users\\username\\AppData\\Local\\Temp\\88128c36-10ed-4487-9d96-9ef182d5758d'  +2ms
  lando 'run-elevated' stdout %o  +0ms
  lando 'run-elevated' stdout 'DEBUG: STDERRPATH: C:\\Users\\username\\AppData\\Local\\Temp\\64737388-79d2-403e-badd-4b962f7e99f5'  +1ms
  lando 'run-elevated' stdout %o  +0ms
  lando 'run-elevated' stdout 'DEBUG: Process finished with return code: 1'  +18111ms
  lando 'run-elevated' stdout %o  +1ms
  lando 'run-elevated' stderr "net : System error 5 has occurred. At line:1 char:1 + net localgroup docker-users username /ADD >'C:\\Users\\username\\AppData\\L ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     + CategoryInfo          : NotSpecified: (System error 5 has occurred.:String) [], RemoteException     + FullyQualifiedErrorId : NativeCommandError    Access is denied."  +18ms
  lando elevated command [
  '-cmd',
  'net,localgroup,docker-users,username,/ADD',
  '-debug',
  [length]: 3
] done with code 1  +34ms
  lando [FAILED] net : System error 5 has occurred  +18862ms
  lando ran 0 of 0 tasks with 2 errors  +0ms
  lando emitting event post-setup  +1ms

  lando {"message":"socket hang up","name":"Error","stack":"Error: socket hang up\n    at Function.from (C:\\snapshot\\cli\\node_modules\\@lando\\core\\node_modules\\axios\\dist\\node\\axios.cjs)\n    at RedirectableRequest.handleRequestError (C:\\snapshot\\cli\\node_modules\\@lando\\core\\node_modules\\axios\\dist\\node\\axios.cjs)\n    at RedirectableRequest.emit (node:events:517:28)\n    at ClientRequest.<anonymous> (C:\\snapshot\\cli\\node_modules\\@lando\\core\\node_modules\\follow-redirects\\index.js:38:24)\n    at ClientRequest.emit (node:events:517:28)\n    at Socket.socketOnEnd (node:_http_client:525:9)\n    at Socket.emit (node:events:529:35)\n    at endReadableNT (node:internal/streams/readable:1400:12)\n    at process.processTicksAndRejections (node:internal/process/task_queues:82:21)","config":{"transitional":{"silentJSONParsing":true,"forcedJSONParsing":true,"clarifyTimeoutError":false},"adapter":["xhr","http"],"transformRequest":[null],"transformResponse":[null],"timeout":0,"xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1,"env":{},"headers":{"Accept":"application/json, text/plain, */*","User-Agent":"axios/1.6.2","Accept-Encoding":"gzip, compress, deflate, br"},"httpsAgent":{"_events":{},"_eventsCount":2,"defaultPort":443,"protocol":"https:","options":{"rejectUnauthorized":false,"family":4,"noDelay":true,"path":null},"requests":{},"sockets":{},"freeSockets":{},"keepAliveMsecs":1000,"keepAlive":false,"maxSockets":null,"maxFreeSockets":256,"scheduling":"lifo","maxTotalSockets":null,"totalSocketCount":0,"maxCachedSessions":100,"_sessionCache":{"map":{},"list":[]}},"httpAgent":{"_events":{},"_eventsCount":2,"defaultPort":80,"protocol":"http:","options":{"family":4,"noDelay":true,"path":null},"requests":{},"sockets":{},"freeSockets":{},"keepAliveMsecs":1000,"keepAlive":false,"maxSockets":null,"maxFreeSockets":256,"scheduling":"lifo","maxTotalSockets":null,"totalSocketCount":0},"url":"https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-windows-x86_64.exe","responseType":"stream","method":"get"},"code":"ECONNRESET","status":null}  +1ms
  lando ERROR Error: A setup error occured! Rerun with lando setup --debug for more info.
    at Object.run (C:\snapshot\cli\node_modules\@lando\core\tasks\setup.js)
From previous event:
    at process.processImmediate (node:internal/timers:476:21)
From previous event:
    at Object.handler (C:\snapshot\cli\lib\cli.js)
    at Object.runCommand (C:\snapshot\cli\node_modules\yargs\lib\command.js:238:44)
    at Object.parseArgs [as _parseArgs] (C:\snapshot\cli\node_modules\yargs\yargs.js:1063:30)
    at Function.get [as argv] (C:\snapshot\cli\node_modules\yargs\yargs.js:1004:21)
    at Cli.init (C:\snapshot\cli\lib\cli.js)
    at Cli.run (C:\snapshot\cli\lib\cli.js)
    at Object.<anonymous> (C:\snapshot\cli\bin\lando)
    at Module._compile (pkg/prelude/bootstrap.js:1930:22)
    at Module._extensions..js (node:internal/modules/cjs/loader:1414:10)
    at Module.load (node:internal/modules/cjs/loader:1197:32)
    at Module._load (node:internal/modules/cjs/loader:1013:12)
    at Function.runMain (pkg/prelude/bootstrap.js:1983:12)
    at node:internal/main/run_main_module:28:49  +15ms
  lando reporting error action to report=true, url=https://metrics.lando.dev, report=true, url=https://metrics.lando.dev
 +50ms
  lando reported data command=lando setup, context=local, devMode=false, instance=f779132e0564827c3fe6420443b0d9628abec882, nodeVersion=v18.19.1, mode=cli, type=Windows_NT, platform=win32, release=10.0.22621, arch=x64, isWsl=false, product=lando, version=3.21.2, message=A setup error occured! Rerun with lando setup --debug for more info., stack=Error: A setup error occured! Rerun with lando setup --debug for more info.
    at Object.run (setup.js)
From previous event:
    at process.processImmediate (node:internal/timers:476:21)
From previous event:
    at Object.handler (cli.js)
    at Object.runCommand (command.js:238:44)
    at Object.parseArgs [as _parseArgs] (yargs.js:1063:30)
    at Function.get [as argv] (yargs.js:1004:21)
    at Cli.init (cli.js)
    at Cli.run (cli.js)
    at Object.<anonymous> (lando)
    at Module._compile (pkg/prelude/bootstrap.js:1930:22)
    at Module._extensions..js (node:internal/modules/cjs/loader:1414:10)
    at Module.load (node:internal/modules/cjs/loader:1197:32)
    at Module._load (node:internal/modules/cjs/loader:1013:12)
    at Function.runMain (pkg/prelude/bootstrap.js:1983:12)
    at node:internal/main/run_main_module:28:49, action=error, created=2024-07-18T14:54:25.871Z +0ms
  lando metrics post to https://metrics.lando.dev failed with 400 (Bad Request) unknown  +562ms
  lando metrics post to https://metrics.lando.dev failed with 400 (Bad Request) unknown  +2ms
wesleymusgrove commented 3 months ago

The "socket hang up" error seems like it's not using my Windows HTTP_PROXY and HTTPS_PROXY environment variable settings in C:\snapshot\cli\node_modules\@lando\core\node_modules\axios\dist\node\axios.cjs

AaronFeledy commented 3 months ago

For the UAC prompt, you'll need to enter credentials for a user that has permissions to edit local user roles. Probably an admin.

wesleymusgrove commented 3 months ago

My username was already added to the docker-users group from when I was using a previous version of Lando and Docker Desktop that were installed with the EXE, so I'm not sure why the PowerShell script thinks I'm not already a part of that group.

image

I'm able to download https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-windows-x86_64.exe using curl in PowerShell. So I'm not sure what's causing the "socket hang up" error

lando {"message":"socket hang up","name":"Error","stack":"Error: socket hang up\n    at Function.from (C:\\snapshot\\cli\\node_modules\\@lando\\core\\node_modules\\axios\\dist\\node\\axios.cjs)\n    at RedirectableRequest.handleRequestError (C:\\snapshot\\cli\\node_modules\\@lando\\core\\node_modules\\axios\\dist\\node\\axios.cjs)\n    at RedirectableRequest.emit (node:events:517:28)\n    at ClientRequest.<anonymous> (C:\\snapshot\\cli\\node_modules\\@lando\\core\\node_modules\\follow-redirects\\index.js:38:24)\n    at ClientRequest.emit (node:events:517:28)\n    at Socket.socketOnEnd (node:_http_client:525:9)\n    at Socket.emit (node:events:529:35)\n    at endReadableNT (node:internal/streams/readable:1400:12)\n    at process.processTicksAndRejections (node:internal/process/task_queues:82:21)","config":{"transitional":{"silentJSONParsing":true,"forcedJSONParsing":true,"clarifyTimeoutError":false},"adapter":["xhr","http"],"transformRequest":[null],"transformResponse":[null],"timeout":0,"xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1,"env":{},"headers":{"Accept":"application/json, text/plain, */*","User-Agent":"axios/1.6.2","Accept-Encoding":"gzip, compress, deflate, br"},"httpsAgent":{"_events":{},"_eventsCount":2,"defaultPort":443,"protocol":"https:","options":{"rejectUnauthorized":false,"family":4,"noDelay":true,"path":null},"requests":{},"sockets":{},"freeSockets":{},"keepAliveMsecs":1000,"keepAlive":false,"maxSockets":null,"maxFreeSockets":256,"scheduling":"lifo","maxTotalSockets":null,"totalSocketCount":0,"maxCachedSessions":100,"_sessionCache":{"map":{},"list":[]}},"httpAgent":{"_events":{},"_eventsCount":2,"defaultPort":80,"protocol":"http:","options":{"family":4,"noDelay":true,"path":null},"requests":{},"sockets":{},"freeSockets":{},"keepAliveMsecs":1000,"keepAlive":false,"maxSockets":null,"maxFreeSockets":256,"scheduling":"lifo","maxTotalSockets":null,"totalSocketCount":0},"url":"https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-windows-x86_64.exe","responseType":"stream","method":"get"},"code":"ECONNRESET","status":null}  +1ms

image

wesleymusgrove commented 3 months ago

My system admin granted my user account admin privileges and it still failed to add my user to the docker-users group, but with a different error code this time.

image

Debug logs:

lando 'run-elevated' stdout 'DEBUG: running elevated command:'  +1260ms
  lando 'run-elevated' stdout %o  +0ms
  lando 'run-elevated' stdout 'DEBUG: CMD: net localgroup docker-users myusername /ADD'  +3ms
  lando 'run-elevated' stdout %o  +1ms
  lando 'run-elevated' stdout 'DEBUG: DEBUG: True'  +1ms
  lando 'run-elevated' stdout %o  +1ms
  lando 'run-elevated' stdout 'DEBUG: STDOUTPATH: C:\\Users\\myusername\\AppData\\Local\\Temp\\5a9f8ad0-39eb-4c7a-a6f4-7669e6a7cd80'  +5ms
  lando 'run-elevated' stdout %o  +0ms
  lando 'run-elevated' stdout 'DEBUG: STDERRPATH: C:\\Users\\myusername\\AppData\\Local\\Temp\\b2ca5afa-b0ca-4362-9ddf-dd475586b142'  +1ms
  lando 'run-elevated' stdout %o  +0ms
  lando 'run-elevated' stdout 'DEBUG: Process finished with return code: 1'  +5170ms
  lando 'run-elevated' stdout %o  +0ms
  lando 'run-elevated' stderr "net : System error 1378 has occurred. At line:1 char:1 + net localgroup docker-users myusername /ADD >'C:\\Users\\myusername\\AppData\\L ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     + CategoryInfo          : NotSpecified: (System error 1378 has occurred.:String) [], RemoteException     + FullyQualifiedErrorId : NativeCommandError    The specified account name is already a member of the group."  +20ms
  lando elevated command [
  '-cmd',
  'net,localgroup,docker-users,myusername,/ADD',
  '-debug',
  [length]: 3
] done with code 1  +35ms
  lando [FAILED] net : System error 1378 has occurred  +6110ms
wesleymusgrove commented 3 months ago

After that error 1378 failure, I ran lando setup --debug again and now it thinks I'm "Dialed", but it's still failing to download docker-compose. My system admin thinks it may have taken some time for the admin privileges to propagate (idk?)

image

Is there any reason why @lando\\core\\node_modules\\axios wouldn't respect my system proxy settings?

wesleymusgrove commented 3 months ago

Trying to press onward, I made sure my C:\Users\username\.lando\config.yml contained the absolute path to the locally installed version of docker-compose, like it mentions here: https://docs.lando.dev/core/v3/orchestrator.html#path

domain: ld
orchestratorBin: 'C:\Program Files\Docker\Docker\resources\bin\docker-compose'

I assume this is okay? I don't know if there are any further steps that need to happen in lando setup beyond the failures I've been experiencing. I do wish I could see everything green successful...

I went ahead and ran lando start for giggles and it worked-ish (?). Almost everything built fine, but I did notice an error I haven't seen before saying ERROR ==> You cannot assign url node.app.ld/ to more than one service!

That part of my .lando.yml file look like this, which was never an error before, to run two different node apps on different ports?

proxy:
    appserver:
        - app.ld
    node:
        - node.app.ld:8081
        - node.app.ld:6006