node-rs/bcrypt: RollupError: Unexpected character '\u{7f}'

未关闭
#816 9 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
35/100
Issue 类型
缺陷
描述清晰度
需要澄清
活跃度
停滞
技术栈
docker, nodejs, rollup, rust, vite

调研方向

首先,使用 package.json 和 pnpm-lock.yaml 复现所提供 Dockerfile 中的失败,然后将 Docker 构建与正常工作的 Vercel 构建进行比较。跟踪 @node-rs/bcrypt 在 SvelteKit/Vite/Rollup 构建期间的处理方式;完成的标准是找出可复现的兼容性原因,并在不出现 Rollup 解析错误的情况下记录或修复 Docker 构建。

由索引模型根据 Issue 内容生成。

描述

I'm having issue during building a SvelteKit project with napi-rs/node-rs. The issue occurs when building it in Docker image but when I build it on Vercel it's working.

I tried to use vite.config.ts from use-napi-rs-packages-with-bundlers but I'm only getting another error (SvelteKit can't use webpack).

✓ built in 15.37s

> Using @sveltejs/adapter-node
error during build:
RollupError: Unexpected character '\u{7f}'
     at getRollupError (file:///app/node_modules/.pnpm/[email protected]/node_modules/rollup/dist/es/shared/parseAst.js:376:41)
     at ParseError.initialise (file:///app/node_modules/.pnpm/[email protected]/node_modules/rollup/dist/es/shared/node-entry.js:11175:28)
     at convertNode (file:///app/node_modules/.pnpm/[email protected]/node_modules/rollup/dist/es/shared/node-entry.js:12915:10)
     at convertProgram (file:///app/node_modules/.pnpm/[email protected]/node_modules/rollup/dist/es/shared/node-entry.js:12235:12)
     at Module.setSource (file:///app/node_modules/.pnpm/[email protected]/node_modules/rollup/dist/es/shared/node-entry.js:14074:24)
     at async ModuleLoader.addModuleSource (file:///app/node_modules/.pnpm/[email protected]/node_modules/rollup/dist/es/shared/node-entry.js:18713:13)
------
Dockerfile:12
--------------------
  10 |     ENV NODE_ENV=production
  11 |     ENV IS_DOCKER=true
  12 | >>> RUN npm run build
  13 |
  14 |     FROM node:18.20.0-alpine3.19
--------------------
ERROR: failed to solve: process "/bin/sh -c npm run build" did not complete successfully: exit code: 1

I'm using @sveltejs/kit@^2.5.5, @node-rs/bcrypt@^1.10.1 and vite@^5.2.7. This error occurs in another dockerized SvelteKit projects aswell.

"devDependencies": {
	"@internationalized/date": "^3.5.2",
	"@melt-ui/pp": "^0.3.0",
	"@melt-ui/svelte": "^0.74.4",
	"@node-rs/bcrypt": "^1.10.1",
	"@prgm/sveltekit-progress-bar": "^2.0.0",
	"@sveltejs/adapter-auto": "^3.2.0",
	"@sveltejs/adapter-node": "^5.0.1",
	"@sveltejs/adapter-vercel": "^5.2.0",
	"@sveltejs/kit": "^2.5.5",
	"@sveltejs/vite-plugin-svelte": "^3.0.2",
	"@tanstack/query-persist-client-core": "^5.28.9",
	"@tanstack/query-sync-storage-persister": "^5.28.9",
	"@tanstack/react-query-persist-client": "^5.28.9",
	"@tanstack/svelte-query": "^5.28.9",
	"@tanstack/svelte-query-devtools": "^5.28.10",
	"@typegoose/auto-increment": "^4.2.0",
	"@types/bcrypt": "^5.0.2",
	"@types/crypto-js": "^4.2.2",
	"@types/js-cookie": "^3.0.6",
	"@types/mongoose-auto-increment": "^5.0.38",
	"@types/mongoose-sequence": "^3.0.11",
	"@types/uuid": "^9.0.8",
	"@vitejs/plugin-react": "^4.2.1",
	"axios": "^1.6.8",
	"crypto-js": "^4.2.0",
	"jose": "^5.2.3",
	"js-cookie": "^3.0.5",
	"mongoose": "^8.2.4",
	"mongoose-auto-increment": "^5.0.1",
	"mongoose-paginate-v2": "^1.8.0",
	"mongoose-sequence": "^6.0.1",
	"rollup-plugin-typescript2": "^0.36.0",
	"sass": "^1.72.0",
	"svelte": "^4.2.12",
	"svelte-check": "^3.6.8",
	"swrv": "^1.0.4",
	"ts-node": "^10.9.2",
	"ts-patch": "^3.1.2",
	"tslib": "^2.6.2",
	"typescript": "^5.4.3",
	"uuid": "^9.0.1",
	"vite": "^5.2.7"
},

My Dockerfile is:

FROM node:18.20.0-alpine3.19 AS builder

RUN npm install -g pnpm

WORKDIR /app
COPY package.json pnpm-lock.yaml ./
RUN pnpm i

COPY . .
ENV NODE_ENV=production
ENV IS_DOCKER=true
RUN npm run build

FROM node:18.20.0-alpine3.19
WORKDIR /app
COPY --from=builder /app/build build/
COPY package.json .
EXPOSE 3000
CMD ["node", "build"]
主要语言
Rust
星标
1.5k
派生
52
平均合并
1 天 2 小时
30 天内合并 PR
14

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

napi-rs/node-rs 的其他 Issue

查看 napi-rs/node-rs 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。