imba / imba.io

📄The official website of Imba

Home Page:http://imba.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

`Error: Cannot find module 'marked'`

IRod22 opened this issue · comments

I got a few error logs when I was running the docs server. Here is the terminal output:

> npm run watch

> imba.io@1.0.0 watch
> imba scripts/build-content.imba -- -w

error here Error: EPERM: operation not permitted, symlink 'C:\Users\Robotics\imba\imba.io\node_modules' -> 'C:\Users\Robotics\AppData\Local\Temp\tmp-2812-CEA6nqOlHxsk\node_modules'
    at Object.symlinkSync (node:fs:1668:3)
    at De.write (C:\Users\Robotics\imba\imba.io\node_modules\imba\bin\imba.imba.js:172:2634)
    at C:\Users\Robotics\imba\imba.io\node_modules\imba\bin\imba.imba.js:169:768
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  errno: -4048,
  syscall: 'symlink',
  code: 'EPERM',
  path: 'C:\\Users\\Robotics\\imba\\imba.io\\node_modules',
  dest: 'C:\\Users\\Robotics\\AppData\\Local\\Temp\\tmp-2812-CEA6nqOlHxsk\\node_modules'
}
Error: Cannot find module 'marked'
Require stack:
- C:\Users\Robotics\AppData\Local\Temp\tmp-2812-CEA6nqOlHxsk\build-content.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:999:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at renderer (C:\Users\Robotics\imba\imba.io\src\util\markdown.imba:1:16)
    at C:\Users\Robotics\AppData\Local\Temp\tmp-2812-CEA6nqOlHxsk\build-content.js:9:59   
    at Object.<anonymous> (C:\Users\Robotics\imba\imba.io\scripts\build-content.imba:7:10)
    at Module._compile (node:internal/modules/cjs/loader:1099:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:975:32) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    'C:\\Users\\Robotics\\AppData\\Local\\Temp\\tmp-2812-CEA6nqOlHxsk\\build-content.js'
  ]
}

Node.js v17.8.0
> 

Here is my package.json:

{
  "name": "imba.io",
  "description": "Official website for Imba",
  "keywords": [
    "imba",
    "website"
  ],
  "author": "Sindre Aarsaether",
  "bugs": "https://github.com/somebee/imba.io/issues",
  "version": "1.0.0",
  "licenses": [
    {
      "type": "MIT",
      "url": "http://github.com/somebee/imba.io/raw/master/LICENSE"
    }
  ],
  "engines": {
    "node": ">=13.10.0"
  },
  "scripts": {
    "start": "imba -w index.imba",
    "dev": "imba -wSM index.imba",
    "build": "npm run build-content && npm run build-api-docs && imba build index.imba",
    "watch": "imba scripts/build-content.imba -- -w",
    "build-site": "imba build index.imba",
    "build-content": "imba scripts/build-content.imba",
    "watch-content": "imba scripts/build-content.imba -- -w",
    "build-api-docs": "imba --node.external typescript scripts/build-api-docs.imba",
    "build-examples": "cd content/examples/express && imba build app.imba",
    "docker-build": "docker build -t imba.io:`git log --pretty=format:'%h' HEAD -n1` .",
    "docker-deploy": "docker push imba.io:`git log --pretty=format:'%h' HEAD -n1`",
    "docker-run": "docker run -p3011:3011 -t -i imba.io:`git log --pretty=format:'%h' HEAD -n1`"
  },
  "files": [],
  "directories": {},
  "main": "./index.imba",
  "homepage": "http://imba.io",
  "repository": {
    "type": "git",
    "url": "git://github.com/imba/imba.io.git"
  },
  "dependencies": {
    "@types/express": "^4.17.13",
    "@types/node": "^13.13.52",
    "chokidar": "^3.5.2",
    "es-module-lexer": "^1.0.3",
    "esbuild": "^0.15.10",
    "express": "^4.17.1",
    "imba": "^2.0.0-alpha.223",
    "marked": "^4.1.0",
    "node-fetch": "^3.2.10",
    "passport": "^0.6.0",
    "perfect-arrows": "^0.3.3",
    "quick-score": "^0.0.13",
    "svgpath": "^2.3.0"
  },
  "devDependencies": {
    "typescript": "^4.4.4",
    "typescript-imba-plugin": "^1.2.8"
  }
}
commented

Did you run npm i and npm run build first?

Here is my entire terminal output. I did not know to run npm run build before npm run watch.

> npm i && npm run build
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@jest/expect-utils@29.2.2',
npm WARN EBADENGINE   required: { node: '^14.15.0 || ^16.10.0 || >=18.0.0' },
npm WARN EBADENGINE   current: { node: 'v17.8.0', npm: '8.7.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@jest/schemas@29.0.0',
npm WARN EBADENGINE   required: { node: '^14.15.0 || ^16.10.0 || >=18.0.0' },
npm WARN EBADENGINE   current: { node: 'v17.8.0', npm: '8.7.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@jest/types@29.2.1',
npm WARN EBADENGINE   required: { node: '^14.15.0 || ^16.10.0 || >=18.0.0' },
npm WARN EBADENGINE   current: { node: 'v17.8.0', npm: '8.7.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'pretty-format@29.2.1',
npm WARN EBADENGINE   required: { node: '^14.15.0 || ^16.10.0 || >=18.0.0' },
npm WARN EBADENGINE   current: { node: 'v17.8.0', npm: '8.7.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'diff-sequences@29.2.0',
npm WARN EBADENGINE   required: { node: '^14.15.0 || ^16.10.0 || >=18.0.0' },
npm WARN EBADENGINE   current: { node: 'v17.8.0', npm: '8.7.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'expect@29.2.2',
npm WARN EBADENGINE   required: { node: '^14.15.0 || ^16.10.0 || >=18.0.0' },
npm WARN EBADENGINE   current: { node: 'v17.8.0', npm: '8.7.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'jest-diff@29.2.1',
npm WARN EBADENGINE   required: { node: '^14.15.0 || ^16.10.0 || >=18.0.0' },
npm WARN EBADENGINE   current: { node: 'v17.8.0', npm: '8.7.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'pretty-format@29.2.1',
npm WARN EBADENGINE   required: { node: '^14.15.0 || ^16.10.0 || >=18.0.0' },
npm WARN EBADENGINE   current: { node: 'v17.8.0', npm: '8.7.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'jest-get-type@29.2.0',
npm WARN EBADENGINE   required: { node: '^14.15.0 || ^16.10.0 || >=18.0.0' },
npm WARN EBADENGINE   current: { node: 'v17.8.0', npm: '8.7.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'jest-matcher-utils@29.2.2',
npm WARN EBADENGINE   required: { node: '^14.15.0 || ^16.10.0 || >=18.0.0' },
npm WARN EBADENGINE   current: { node: 'v17.8.0', npm: '8.7.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'pretty-format@29.2.1',
npm WARN EBADENGINE   required: { node: '^14.15.0 || ^16.10.0 || >=18.0.0' },
npm WARN EBADENGINE   current: { node: 'v17.8.0', npm: '8.7.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'jest-message-util@29.2.1',
npm WARN EBADENGINE   required: { node: '^14.15.0 || ^16.10.0 || >=18.0.0' },
npm WARN EBADENGINE   current: { node: 'v17.8.0', npm: '8.7.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'pretty-format@29.2.1',
npm WARN EBADENGINE   required: { node: '^14.15.0 || ^16.10.0 || >=18.0.0' },
npm WARN EBADENGINE   current: { node: 'v17.8.0', npm: '8.7.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'jest-util@29.2.1',
npm WARN EBADENGINE   required: { node: '^14.15.0 || ^16.10.0 || >=18.0.0' },
npm WARN EBADENGINE   current: { node: 'v17.8.0', npm: '8.7.0' }
npm WARN EBADENGINE }

up to date, audited 300 packages in 12s

73 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

> imba.io@1.0.0 build
> npm run build-content && npm run build-api-docs && imba build index.imba


> imba.io@1.0.0 build-content
> imba scripts/build-content.imba

error here Error: EPERM: operation not permitted, symlink 'C:\Users\Robotics\imba\imba.io\node_modules' -> 'C:\Users\Robotics\AppData\Local\Temp\tmp-1968-wIERrm3Vx0Wd\node_modules'
    at Object.symlinkSync (node:fs:1668:3)
    at De.write (C:\Users\Robotics\imba\imba.io\node_modules\imba\bin\imba.imba.js:172:2634)
    at C:\Users\Robotics\imba\imba.io\node_modules\imba\bin\imba.imba.js:169:768
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  errno: -4048,
  syscall: 'symlink',
  code: 'EPERM',
  path: 'C:\\Users\\Robotics\\imba\\imba.io\\node_modules',
  dest: 'C:\\Users\\Robotics\\AppData\\Local\\Temp\\tmp-1968-wIERrm3Vx0Wd\\node_modules'
}
Error: Cannot find module 'marked'
Require stack:
- C:\Users\Robotics\AppData\Local\Temp\tmp-1968-wIERrm3Vx0Wd\build-content.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:999:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at renderer (C:\Users\Robotics\imba\imba.io\src\util\markdown.imba:1:16)
    at C:\Users\Robotics\AppData\Local\Temp\tmp-1968-wIERrm3Vx0Wd\build-content.js:9:59
    at Object.<anonymous> (C:\Users\Robotics\imba\imba.io\scripts\build-content.imba:7:10)
    at Module._compile (node:internal/modules/cjs/loader:1099:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:975:32) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    'C:\\Users\\Robotics\\AppData\\Local\\Temp\\tmp-1968-wIERrm3Vx0Wd\\build-content.js'
  ]
}

Node.js v17.8.0
> 
commented

Looks like an issue with Imba on Windows. I'll see if I can fix it tomorrow, but if you want to get it working asap I might give it a shot with WSL2. Thanks for reporting!

(edited for clarity)

Thx, @familyfriendlymikey! This is not my first rodeo with Node.js on Windows unfortunately. 🤦‍♂️ I wonder if that's a thing with M.S. or a thing with Node.js; I think it's with the former; however, I think the latter has a few teething issues, too.

Also, I would avoid tangling with node-gyp for the same reason.

@familyfriendlymikey, I'm going to close and reference this issue in a new issue in the main repository because the bug is in Imba itself.