docker 下 pnpm node环境

pnpm 本机环境 昨天还好好的,今天就无法使用了。最后用docker 一样的环境才成功

本机报错

@apps/admin:dev: cache bypass, force executing 07f892bd0d4533a7
@apps/admin:dev: 
@apps/admin:dev: > @apps/admin@3.0.0-beta.1 dev /project/github/ben3/apps/admin
@apps/admin:dev: > vite
@apps/admin:dev: 
@apps/admin:dev: 
@apps/admin:dev: 当前处于开发测试阶段,还会有大量更新,仅供参考,请勿用于实际项目!
@apps/admin:dev: 
@apps/admin:dev: 

最后的原因竟然是权限导致的。在 启动命令加上超级管理权限才可以sudo pnpm dev, 可能是前几天 本机更新了相关的 包导致(brew update)

~/.vite-plugin-mkcert 目录下权限不一致,有的是当前用户权限,有的是 root 权限,改为 当前有户权限.
sudo chown -R fox:staff *

docker-compose 文件内容

docker-compose.yml

version: '3.0'
services:
  pnpm:
    container_name: pnpm
    image: 'gplane/pnpm:8.2.0-node18'
    volumes:
      - ./vben3:/project
    tty: true
    entrypoint: bash
    working_dir: /project
    ports:
      - 4000:3000

执行

docker-compose

进入容器

docker exec -it pnpm bash

设置镜像源

pnpm config set registry https://registry.npmmirror.com
#还原,需要的时候使用
pnpm config set registry https://registry.npmjs.org

删除 node_modules 目录

rm -rf node_modules

执行 项目初始化和运行

pnpm install && pnpm dev

最后成功~

一条docker命令有上面同样的效果

先删除 缓存

rm -rf node_modules
rm -rf .pnpm-store

创建容器

docker run -it -d --name pnpm3 \
-p 4003:3000 \
-v /Users/fox/project/github/github/vben3:/project \
-w /project \
--entrypoint bash \
gplane/pnpm:8.2.0-node18

–rm 表示容器结束后,自动删除,如果需要自动删除容器,这个参数加上即可
-d 表示后台运行
–name 容器名称
-p 4003:3000 内部[3000]端口号映射为 ,宿主机端口号[4003]

进入容器

docker exec -it pnpm3 bash

执行生成 命令

pnpm config set registry https://registry.npmmirror.com \
&& pnpm install \
&& pnpm dev

pnpm config set registry https://registry.npmmirror.com 这个命令可以不要,这个是设置 国内镜像源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风.foxwho

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值