pnpm+monorepo居然会install报错?

718 阅读1分钟

在我尝试对monorepo进行深入了解的时候,基于pnpm工具管理,我在install的时候居然会报错。在自己尝试解决之后,想抛出问题大家一起研究研究(发际线真的不行了。。。)

重现步骤

执行:

  pnpm install

期望结果

安装依赖成功

实际结果

我得到了以下报错:

  Scope: all 3 workspace projects
 ENOENTENOENT: no such file or directory, mkdir '/path'

本地环境

Windows, macOS, or Linux? : macOS

本地环境信息:

SoftwareValue
node -vv16.15.1
npm -v8.11.0
pnpm -v7.5.0
macOS12.4

.pnpm-debug.log文件如下(执行pnpm install报错产生的log文件)

{
"0 debug pnpm:scope": {
"selected": 3,
"total": 3,
"workspacePrefix": "/Users/raymond/Desktop/monorepo-demo"
},
"1 error pnpm": {
"errno": -2,
"code": "ENOENT",
"syscall": "mkdir",
"path": "/path",
"err": {
    "name": "pnpm",
    "message": "ENOENT: no such file or directory, mkdir '/path'",
    "code": "ENOENT",
    "stack": "pnpm: ENOENT: no such file or directory, mkdir '/path'"
    }
                }
}

这是一个 Monorepo+pnpm初始化项目 , package.json :

{
  "name": "monorepo-demo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "type": "module",
  "keywords": [],
  "author": "",
  "license": "ISC"
}

截图如下

image.png

尝试解决方案:

1.pnpm install的时候,用root权限安装(sudo pnpm install),结果:失败
2.可能是版本问题,我用nvm去管理pnpm、node版本 ,结果:失败
3.根据报错去解决,在本地去创建path目录,当我执行mkdir path提示:mkdir: path: Read-only file system ,结果:失败

最后

以上问题已经在pnpm提了issue,有兴趣可以前往了解 github.com/pnpm/pnpm/i…