I have an npm project in location:
~/dev/project
npm run build
runs this script 'sh devDependencies/runbuild.sh'
. Location of the script is here ~/dev/projectdevDependencies/runbuild.sh
. I’m running the script in ~/dev/project
.
runbuild.sh
contents:
echo creating build/ folder mkdir -m 0777 build echo copy /js/ cp -R js build/ chmod 0777 -R build/js echo [changing rights] index.js chmod 0777 build/js/index.js browserify build/js/index.js -o /build/js/build.js
I get an error:
Error: EROFS: read-only file system, mkdir '/build' at Object.mkdirSync (fs.js:987:3) at sync (/usr/local/lib/node_modules/browserify/node_modules/mkdirp-classic/index.js:71:13) at Function.sync (/usr/local/lib/node_modules/browserify/node_modules/mkdirp-classic/index.js:77:24) at Object.<anonymous> (/usr/local/lib/node_modules/browserify/bin/cmd.js:64:12) at Module._compile (internal/modules/cjs/loader.js:1063:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10) at Module.load (internal/modules/cjs/loader.js:928:32) at Function.Module._load (internal/modules/cjs/loader.js:769:14) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) at internal/main/run_main_module.js:17:47 { errno: -30, syscall: 'mkdir', code: 'EROFS', path: '/build' }
ls -l:
-rw-r--r-- 1 sander wheel 218175 Mar 9 14:28 bundle.js -rw-r--r-- 1 sander wheel 7869 Mar 9 14:28 index.js
There are read and write access?
I have tried running the script in /tmp
folder which gives the same result.
I have tried running as sudo
which also gives same result.
I don’t think I should run this command csrutil disable
because that would be too extreme.
Where should I put my project so that I don’t have this issue?
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
The problem is with this line:
browserify build/js/index.js -o /build/js/build.js
You should not have -o /build/js/
, because that points to entirely different place than build/js/
.
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0