xo-cli user.create issues
-
Good afternoon, I am using the Laravel framework, but I am having a lot of difficulties creating a user via shell_exec.
$xoCommand = [ 'xo-cli', 'user.create', "email=$username", "password=$randomPassword", "permission=none" ]; $this->info("Executing command: " . implode(' ', $xoCommand)); $process = new Process($xoCommand); $process->run();When I execute the command, it constantly returns this error in the logs:
[2024-10-28 13:44:35] local.INFO: Output from user:create command: Executing command: xo-cli user.create email=usertest password=1234 permission=none Error creating user in XO: internal/process/esm_loader.js:74 internalBinding('errors').triggerUncaughtException( ^ Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'fs' imported from /usr/local/lib/node_modules/xo-cli/index.mjs at packageResolve (internal/modules/esm/resolve.js:664:9) at moduleResolve (internal/modules/esm/resolve.js:705:18) at Loader.defaultResolve [as _resolve] (internal/modules/esm/resolve.js:798:11) at Loader.resolve (internal/modules/esm/loader.js:100:40) at Loader.getModuleJob (internal/modules/esm/loader.js:246:28) at ModuleWrap.<anonymous> (internal/modules/esm/module_job.js:47:40) at link (internal/modules/esm/module_job.js:46:36) { code: 'ERR_MODULE_NOT_FOUND' }Can you please help me?
I can execute other types of commands without any problem, such as:
$output = shell_exec('xo-cli list-objects type=VM'); for example. -
I don't think you should use shel exec to call XO CLI, but call the XO API directly (eg via JSON RPC or REST API). Also, your error is likely related to a very old version of NodeJS. Have you checked the official doc on the requirements?
-
@olivierlambert I have already verified, and I can execute the script directly in the shell without any issues. Is it possible to create a user via the REST API? I couldn't find any documentation on this topic.
-
Putting @julien-f in the loop
-
@samuelolavo I have node idea why some
xo-clicommands would work but not others.Also,
fsis a builtin Node package, it should always be available.Make sure that you are running Node 20 and that your PHP setup is not messing with the environment.
-
@julien-f Good afternoon, I am using Node 21, and I believe the PHP configuration is correct.
However, is it possible to create users via REST API? And also self-service?
-
@samuelolavo No, users management and self service are not in the REST API yet.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login