From fa967cc43f385ffd36f41514b9919b8a7b5804fb Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Fri, 22 Aug 2025 14:30:52 +0800 Subject: [PATCH 1/4] fix: modify the value of the environment variable TMPDIR --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index 8078fe9..167643d 100644 --- a/index.js +++ b/index.js @@ -99,7 +99,7 @@ function lifecycle (pkg, stage, wd, opts) { // 'nobody' typically doesn't have permission to write to /tmp // even if it's never used, sh freaks out. - if (!opts.unsafePerm) env.TMPDIR = wd + if (!opts.unsafePerm) env.TMPDIR = path.join(wd, 'node_modules') lifecycle_(pkg, stage, wd, opts, env, (er) => { if (er) return reject(er) From 40be8e41ec6e5149f6cd4a6424fff279b686f8e8 Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Mon, 25 Aug 2025 16:47:40 +0800 Subject: [PATCH 2/4] fix: update --- index.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 167643d..7e3e914 100644 --- a/index.js +++ b/index.js @@ -99,7 +99,11 @@ function lifecycle (pkg, stage, wd, opts) { // 'nobody' typically doesn't have permission to write to /tmp // even if it's never used, sh freaks out. - if (!opts.unsafePerm) env.TMPDIR = path.join(wd, 'node_modules') + if (!opts.unsafePerm) { + const tmpdir = path.join(wd, 'node_modules') + if (!fs.existsSync(tmpdir)) fs.mkdirSync(tmpdir) + env.TMPDIR = tmpdir + } lifecycle_(pkg, stage, wd, opts, env, (er) => { if (er) return reject(er) From f945bc914fc684daea6e1f9f2ea7c8e7a580a9d4 Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Thu, 4 Sep 2025 20:35:24 +0800 Subject: [PATCH 3/4] fix: update --- index.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 7e3e914..88743ff 100644 --- a/index.js +++ b/index.js @@ -101,7 +101,11 @@ function lifecycle (pkg, stage, wd, opts) { // even if it's never used, sh freaks out. if (!opts.unsafePerm) { const tmpdir = path.join(wd, 'node_modules') - if (!fs.existsSync(tmpdir)) fs.mkdirSync(tmpdir) + try { + fs.mkdirSync(tmpdir) + } catch (err) { + if (err.code !== 'EEXIST') throw err + } env.TMPDIR = tmpdir } From fa537cc8ccb083dac65d955b90219ad8e32a1e74 Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Thu, 4 Sep 2025 21:08:32 +0800 Subject: [PATCH 4/4] fix: update --- index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 88743ff..e86fe9f 100644 --- a/index.js +++ b/index.js @@ -100,9 +100,9 @@ function lifecycle (pkg, stage, wd, opts) { // 'nobody' typically doesn't have permission to write to /tmp // even if it's never used, sh freaks out. if (!opts.unsafePerm) { - const tmpdir = path.join(wd, 'node_modules') + const tmpdir = path.join(wd, 'node_modules', '.tmp') try { - fs.mkdirSync(tmpdir) + fs.mkdirSync(tmpdir, { recursive: true }) } catch (err) { if (err.code !== 'EEXIST') throw err }