I followed the guide for initiating and deploying a function using the CLI from a folder called "appwrite_functions" where my Appwrite.json resides. My first function called "inviteEmail" resides in "appwrite_functions > functions > inviteEmail" which is a folder that contains the automatically generated files by Appwrite init function (src folder with index.js, and package.json). I deployed the function by running the "appwrite function createDeployment" with correct ID and --entrypoint="src/index.js". The build is successful. I am running Appwrite locally on http://localhost/v1. But when I execute the function manually from Appwrite Console I get the error below. I really cannot understand what the problem is. I have tried editing the entrypoint to --entrypoint="index.js" and to --entrypoint="inviteEmail/src/index.js" in the CLI command. But with the same error on execution. The file "appwrite.json" has these parameters related to the path and entrypoint: "path": "functions/inviteEmail", "entrypoint": "src/index.js",
Error: Cannot find module '/usr/code-start/src/index.js' Require stack:
- /usr/local/src/server.js at Function.Module._resolveFilename (node:internal/modules/cjs/loader:940:15) at Module.Hook._require.Module.require (/usr/local/lib/node_modules/pm2/node_modules/require-in-the-middle/index.js:81:25) at require (node:internal/modules/cjs/helpers:93:18) at /usr/local/src/server.js:55:28 at processTicksAndRejections (node:internal/process/task_queues:96:5)
I tried changing the entrypoint to "--entrypoint="functions/inviteEmail/src/index.js" and then I get this other error message: Error: Cannot find module 'node-appwrite' Require stack:
- /usr/code-start/functions/inviteEmail/src/index.js
- /usr/local/src/server.js at Function.Module._resolveFilename (node:internal/modules/cjs/loader:940:15) at Module.Hook._require.Module.require (/usr/local/lib/node_modules/pm2/node_modules/require-in-the-middle/index.js:81:25) at require (node:internal/modules/cjs/helpers:93:18) at Object.<anonymous> (/usr/code-start/functions/inviteEmail/src/index.js:1:13) at Module._compile (node:internal/modules/cjs/loader:1108:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1137:10) at Module.load (node:internal/modules/cjs/loader:988:32) at Function.Module._load (node:internal/modules/cjs/loader:828:14) at Module.require (node:internal/modules/cjs/loader:1012:19) at Module.Hook._require.Module.require (/usr/local/lib/node_modules/pm2/node_modules/require-in-the-middle/index.js:101:39)
[SOLVED] Cannot find module '/usr/code-start/src/index.js'
It seems that there is some issue related to the CLI "createDeployment" function. Ironically this is the one recommended by appwrite when you click on the "Create deployment" button in the Appwrite Console. I tried instead to follow the instruction that is provided inside the automatically generated "ReadMe" file when you run the CLI command "appwrite init function". It says to run "appwrite deploy" from the folder in which the appwrite.json (also automatically created by the "appwrite init function" command) resides. I followed the instruction prompted after running appwrite deplot and it worked out just fine.
did you pass the code
param to specify where your code is?
the createDeployment command does not make use of the appwrite.json and you would have to manually make sure you're specifying the correct code path and entrypoint path
@Steven i did not 🤦♂️ In my defence, it wasn’t apparent that createDeployment ignored appwrite.json nor exactly how the code parameter is specified. Thanks for your reply!
Recommended threads
- HTTP POST to function returning "No Appw...
Hi everyone, I’m running into an issue with my self-hosted Appwrite instance. I’ve set up my environment variables (APPWRITE_FUNCTION_PROJECT_ID, APPWRITE_FUNC...
- Can't add dart 3.5 runtime
Modified the `.env` to enable dart 3.5 runtime on my self-hosted instance but still can't find the runtime when creating a new function. I manually pulled the i...
- How to verify an user using AppWrite Fun...
I have seen similar questions but none whose solutions serve me. I have a function to verify a user with their secret and their id: https://blahblah.appwrite.gl...