Npm ERR! ETXTBSY: text file is busy with Homestead installation on Windows host OS

I’ve tried installing on two different systems and I’ve gotten both systems in order regarding the virtual machine and homestead, but the installation of userfrosting stops at this point…

Errors from installation of gulp

22 error @userfrosting/userfrosting@4.1.0 uf-assets-install: `gulp bower-install`
22 error Exit status 1
23 error Failed at the @userfrosting/userfrosting@4.1.0 uf-assets-install script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

Trying to follow instructions:

vagrant@homestead:~/userfrosting$ npm issue gulp-util@3.0.8
npm WARN deprecated gulp-util@3.0.8: gulp-util is deprecated - replace it, following the guidelines at medium.com / gulpjs / gulp-util-ca3b1f9f9ac5
npm ERR! code 3
npm ERR! Command failed: xdg-open github.com /gulpjs /gulp-util/issues
npm ERR! /usr/bin/xdg-open: 844: /usr/bin/xdg-open: www-browser: not found
npm ERR! /usr/bin/xdg-open: 844: /usr/bin/xdg-open: links2: not found
npm ERR! /usr/bin/xdg-open: 844: /usr/bin/xdg-open: elinks: not found
npm ERR! /usr/bin/xdg-open: 844: /usr/bin/xdg-open: links: not found
npm ERR! /usr/bin/xdg-open: 844: /usr/bin/xdg-open: lynx: not found
npm ERR! /usr/bin/xdg-open: 844: /usr/bin/xdg-open: w3m: not found
npm ERR! xdg-open: no method available for opening 'Preformatted textgulp-util/issues'
npm ERR!

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/vagrant/.npm/_logs/2018-05-06T19_59_18_487Z-debug.log

I dont understand what to do at the page I am redirected to. Feels like the deprecation of gulp is quite probematic and hard to fix for someone like me who is inexperienced with npm.

Regards,

I don’t think that the deprecation itself is what is causing the install to fail. It looks like something is trying to use the xdg-open utility to retrieve the relevant deprecation issue from GitHub, and that is what is exiting with a fatal error :expressionless:

Can you try running npm run uf-assets-install directly, from within the build/ subdirectory? Hopefully we can get a more verbose trace.

When I run npm run uf-assets-install from /build:

vagrant@homestead:~/userfrosting/build$ npm run uf-assets-install

> @userfrosting/userfrosting@4.1.0 uf-assets-install /home/vagrant/userfrosting/build
> gulp bower-install

[22:01:14] Local gulp not found in ~/userfrosting/build
[22:01:14] Try running: npm install gulp
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @userfrosting/userfrosting@4.1.0 uf-assets-install: `gulp bower-install`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @userfrosting/userfrosting@4.1.0 uf-assets-install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/vagrant/.npm/_logs/2018-05-06T22_01_14_162Z-debug.log

When I run npm install gulp in /build

vagrant@homestead:~/userfrosting/build$ npm install gulp
npm WARN deprecated gulp-util@3.0.8: gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5
npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN rollback Rolling back is-accessor-descriptor@1.0.0 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/base/node_modules/is-accessor-descriptor/package.json.1397837691’
npm WARN rollback Rolling back component-emitter@1.2.1 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/base/node_modules/component-emitter/package.json.4098553882’
npm WARN rollback Rolling back is-descriptor@1.0.2 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/base/node_modules/is-descriptor/package.json.3853333114’
npm WARN rollback Rolling back is-data-descriptor@1.0.0 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/base/node_modules/is-data-descriptor/package.json.3047121691’
npm WARN rollback Rolling back arr-flatten@1.1.0 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/braces/node_modules/arr-flatten/package.json.2421274518’
npm WARN rollback Rolling back define-property@1.0.0 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/base/node_modules/define-property/package.json.97517783’
npm WARN rollback Rolling back array-unique@0.3.2 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/braces/node_modules/array-unique/package.json.1239151277’
npm WARN rollback Rolling back class-utils@0.3.6 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/class-utils/package.json.2638841020’
npm WARN rollback Rolling back extend-shallow@2.0.1 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/braces/node_modules/extend-shallow/package.json.131084252’
npm WARN rollback Rolling back ansi-styles@2.2.1 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/chalk/node_modules/ansi-styles/package.json.4146116307’
npm WARN rollback Rolling back component-emitter@1.2.1 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/cache-base/node_modules/component-emitter/package.json.2628699855’
npm WARN rollback Rolling back arr-union@3.1.0 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/class-utils/node_modules/arr-union/package.json.972209219’
npm WARN rollback Rolling back defaults@1.0.3 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/defaults/package.json.3615621351’
npm WARN rollback Rolling back define-property@0.2.5 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/expand-brackets/node_modules/define-property/package.json.3469417518’
npm WARN rollback Rolling back define-property@0.2.5 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/class-utils/node_modules/define-property/package.json.3920119222’
npm WARN rollback Rolling back clone@1.0.4 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/defaults/node_modules/clone/package.json.3055311981’
npm WARN rollback Rolling back assign-symbols@1.0.0 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/extend-shallow/node_modules/assign-symbols/package.json.853128002’
npm WARN rollback Rolling back extend-shallow@2.0.1 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/expand-brackets/node_modules/extend-shallow/package.json.392148926’
npm WARN rollback Rolling back array-unique@0.3.2 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/extglob/node_modules/array-unique/package.json.3270738714’
npm WARN rollback Rolling back extend-shallow@3.0.2 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/extend-shallow/package.json.331960199’
npm WARN rollback Rolling back extend-shallow@2.0.1 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/extglob/node_modules/extend-shallow/package.json.1756990689’
npm WARN rollback Rolling back is-extendable@1.0.1 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/extend-shallow/node_modules/is-extendable/package.json.3991053946’
npm WARN rollback Rolling back is-data-descriptor@1.0.0 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/extglob/node_modules/is-data-descriptor/package.json.309973898’
npm WARN rollback Rolling back is-descriptor@1.0.2 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/extglob/node_modules/is-descriptor/package.json.1655546577’
npm WARN rollback Rolling back fancy-log@1.3.2 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/fancy-log/package.json.2839572076’
npm WARN rollback Rolling back is-accessor-descriptor@1.0.0 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/extglob/node_modules/is-accessor-descriptor/package.json.4238724816’
npm WARN rollback Rolling back ansi-gray@0.1.1 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/fancy-log/node_modules/ansi-gray/package.json.1546966499’
npm WARN rollback Rolling back define-property@1.0.0 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/extglob/node_modules/define-property/package.json.3066159362’
npm WARN rollback Rolling back through2@0.6.5 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/glob-stream/node_modules/through2/package.json.976499954’
npm WARN rollback Rolling back ansi-wrap@0.1.0 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/fancy-log/node_modules/ansi-wrap/package.json.562362212’
npm WARN rollback Rolling back color-support@1.1.3 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/fancy-log/node_modules/color-support/package.json.4219168955’
npm WARN rollback Rolling back readable-stream@1.0.34 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/glob-stream/node_modules/readable-stream/package.json.2446024612’
npm WARN rollback Rolling back array-uniq@1.0.3 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/gulp-util/node_modules/array-uniq/package.json.400719842’
npm WARN rollback Rolling back array-differ@1.0.0 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/gulp-util/node_modules/array-differ/package.json.2961116272’
npm WARN rollback Rolling back ansi-regex@2.1.1 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/has-ansi/node_modules/ansi-regex/package.json.2873188806’
npm WARN rollback Rolling back has-ansi@2.0.0 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/has-ansi/package.json.3729900004’
npm WARN rollback Rolling back balanced-match@1.0.0 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/minimatch/node_modules/balanced-match/package.json.161832786’
npm WARN rollback Rolling back array-unique@0.3.2 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/micromatch/node_modules/array-unique/package.json.504308972’
npm WARN rollback Rolling back beeper@1.1.1 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/gulp-util/node_modules/beeper/package.json.1052378780’
npm WARN rollback Rolling back arr-diff@4.0.0 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/micromatch/node_modules/arr-diff/package.json.2835092180’
npm WARN rollback Rolling back glob@4.5.3 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/glob/package.json.3979558652’
npm WARN rollback Rolling back object-assign@3.0.0 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/gulp-util/node_modules/object-assign/package.json.861045644’
npm WARN rollback Rolling back brace-expansion@1.1.11 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/minimatch/node_modules/brace-expansion/package.json.4166101487’
npm WARN rollback Rolling back glob-stream@3.1.18 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/glob-stream/package.json.717264264’
npm WARN rollback Rolling back minimatch@2.0.10 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/minimatch/package.json.486186651’
npm WARN rollback Rolling back concat-map@0.0.1 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/minimatch/node_modules/concat-map/package.json.3052082397’
npm WARN rollback Rolling back chalk@1.1.3 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/chalk/node_modules/ansi-styles/package.json.4146116307’
npm WARN rollback Rolling back base@0.11.2 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/base/node_modules/component-emitter/package.json.4098553882’
npm WARN rollback Rolling back extglob@2.0.4 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/extglob/node_modules/define-property/package.json.3066159362’
npm WARN rollback Rolling back cache-base@1.0.1 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/cache-base/node_modules/component-emitter/package.json.2628699855’
npm WARN rollback Rolling back micromatch@3.1.10 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/micromatch/node_modules/arr-diff/package.json.2835092180’
npm WARN rollback Rolling back expand-brackets@2.1.4 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/expand-brackets/node_modules/extend-shallow/package.json.392148926’
npm WARN rollback Rolling back nanomatch@1.2.9 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/nanomatch/node_modules/arr-diff/package.json.2391569920’
npm WARN rollback Rolling back braces@2.3.2 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/braces/node_modules/array-unique/package.json.1239151277’
npm WARN rollback Rolling back gulp-util@3.0.8 failed (this is probably harmless): ETXTBSY: text file is busy, unlink ‘/home/vagrant/userfrosting/build/node_modules/gulp-util/node_modules/object-assign/package.json.861045644’
npm ERR! path /home/vagrant/userfrosting/build/node_modules/defaults/package.json.3615621351
npm ERR! code ETXTBSY
npm ERR! errno -26
npm ERR! syscall rename
npm ERR! ETXTBSY: text file is busy, rename ‘/home/vagrant/userfrosting/build/node_modules/defaults/package.json.3615621351’ -> ‘/home/vagrant/userfrosting/build/node_modules/defaults/package.json’

npm ERR! A complete log of this run can be found in:
npm ERR! /home/vagrant/.npm/_logs/2018-05-06T22_02_34_621Z-debug.log

Logs from npm run uf-assets-install in /build:

0 info it worked if it ends with ok
1 verbose cli [ ‘/usr/bin/node’, ‘/usr/bin/npm’, ‘run’, ‘uf-assets-install’ ]
2 info using npm@6.0.0
3 info using node@v8.11.1
4 verbose run-script [ ‘preuf-assets-install’,
4 verbose run-script ‘uf-assets-install’,
4 verbose run-script ‘postuf-assets-install’ ]
5 info lifecycle @userfrosting/userfrosting@4.1.0~preuf-assets-install: @userfrosting/userfrosting@4.1.0
6 info lifecycle @userfrosting/userfrosting@4.1.0~uf-assets-install: @userfrosting/userfrosting@4.1.0
7 verbose lifecycle @userfrosting/userfrosting@4.1.0~uf-assets-install: unsafe-perm in lifecycle true
8 verbose lifecycle @userfrosting/userfrosting@4.1.0~uf-assets-install: PATH: /usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/vagrant/userfrosting/build/node_modules/.bin:/home/vagrant/.composer/vendor/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
9 verbose lifecycle @userfrosting/userfrosting@4.1.0~uf-assets-install: CWD: /home/vagrant/userfrosting/build
10 silly lifecycle @userfrosting/userfrosting@4.1.0~uf-assets-install: Args: [ ‘-c’, ‘gulp bower-install’ ]
11 silly lifecycle @userfrosting/userfrosting@4.1.0~uf-assets-install: Returned: code: 1 signal: null
12 info lifecycle @userfrosting/userfrosting@4.1.0~uf-assets-install: Failed to exec uf-assets-install script
13 verbose stack Error: @userfrosting/userfrosting@4.1.0 uf-assets-install: gulp bower-install
13 verbose stack Exit status 1
13 verbose stack at EventEmitter. (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:283:16)
13 verbose stack at emitTwo (events.js:126:13)
13 verbose stack at EventEmitter. (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:283:16)
13 verbose stack at emitTwo (events.js:126:13)
13 verbose stack at EventEmitter.emit (events.js:214:7)
13 verbose stack at ChildProcess. (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack at emitTwo (events.js:126:13)
13 verbose stack at ChildProcess.emit (events.js:214:7)
13 verbose stack at maybeClose (internal/child_process.js:925:16)
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
14 verbose pkgid @userfrosting/userfrosting@4.1.0
15 verbose cwd /home/vagrant/userfrosting/build
16 verbose Linux 4.15.0-20-generic
17 verbose argv “/usr/bin/node” “/usr/bin/npm” “run” “uf-assets-install”
18 verbose node v8.11.1
19 verbose npm v6.0.0
20 error code ELIFECYCLE
21 error errno 1
22 error @userfrosting/userfrosting@4.1.0 uf-assets-install: gulp bower-install
22 error Exit status 1
23 error Failed at the @userfrosting/userfrosting@4.1.0 uf-assets-install script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

@hakstr What UF version you have? What version of npm and node? I can’t replicate on my Homestead machine.

The deprecation is just that, a deprecation. Still works fine and will continue to in the foreseeable future. (will be resolved at some point though).

Key standout is ETXTBSY: text file is busy which seems to suggest something is messing with the install process. So maybe permission issues or something? I not sure. I don’t think its anything specific to UF that is causing the issue.

Trying to run as user vagrant I get this error:

vagrant@homestead:~/userfrosting/build$ sudo -u vagrant npm run uf-assets-install

@userfrosting/userfrosting@4.1.0 uf-assets-install /home/vagrant/userfrosting/build
gulp bower-install

module.js:549
throw err;
^

Error: Cannot find module ‘gulp-load-plugins’
at Function.Module._resolveFilename (module.js:547:15)
at Function.Module._load (module.js:474:25)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object. (/home/vagrant/userfrosting/build/gulpfile.js:17:17)
at Module._compile (module.js:652:30)
at Object.Module._extensions…js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @userfrosting/userfrosting@4.1.0 uf-assets-install: gulp bower-install
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @userfrosting/userfrosting@4.1.0 uf-assets-install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /home/vagrant/.npm/_logs/2018-05-09T08_11_49_226Z-debug.log
vagrant@homestead:~/userfrosting/build$

When I do sudo -u vagrant npm install gulp it is complaining about file is busy as you say, and telling me to rename the file.

vagrant@homestead:~/userfrosting$ sudo -u vagrant npm install gulp                      
npm WARN rollback Rolling back copy-descriptor@0.1.1 failed (this is probably harmless): ETXTBSY: text file is busy, unlink '/home/vagrant/userfrosting/node_modules/gulp/node_modules/copy-descriptor/package.json.653663064'
npm WARN rollback Rolling back object-copy@0.1.0 failed (this is probably harmless): ETXTBSY: text file is busy, unlink '/home/vagrant/userfrosting/node_modules/gulp/node_modules/object-copy/package.json.2504454062'
npm WARN rollback Rolling back snapdragon@0.8.2 failed (this is probably harmless): ETXTBSY: text file is busy, unlink '/home/vagrant/userfrosting/node_modules/        gulp/node_modules/snapdragon/package.json.1985879494'
npm WARN rollback Rolling back static-extend@0.1.2 failed (this is probably harmless): ETXTBSY: text file is busy, unlink '/home/vagrant/userfrosting/node_modules/gulp/node_modules/static-extend/package.json.574727940'
npm WARN rollback Rolling back base@0.11.2 failed (this is probably harmless): ETXTBSY: text file is busy, unlink '/home/vagrant/userfrosting/node_modules/gulp/node_modules/base/package.json.2284981565'
npm WARN rollback Rolling back class-utils@0.3.6 failed (this is probably harmless): ETXTBSY: text file is busy, unlink '/home/vagrant/userfrosting/node_modules/gulp/node_modules/class-utils/package.json.3390244290'
npm WARN rollback Rolling back gulp@3.9.1 failed (this is probably harmless): ETXTBSY: text file is busy, unlink '/home/vagrant/userfrosting/node_modules/gulp/package.json.3286021193'
npm WARN rollback Rolling back nanomatch@1.2.9 failed (this is probably harmless): ETXTBSY: text file is busy, unlink '/home/vagrant/userfrosting/node_modules/gulp/node_modules/nanomatch/package.json.354214492'
npm WARN rollback Rolling back extglob@2.0.4 failed (this is probably harmless):ETXTBSY: text file is busy, unlink '/home/vagrant/userfrosting/node_modules/gulp/node_modules/extglob/package.json.3860094100'
npm WARN rollback Rolling back braces@2.3.2 failed (this is probably harmless):ETXTBSY: text file is busy, unlink '/home/vagrant/userfrosting/node_modules/gulp/node_modules/braces/package.json.2530749348'
npm WARN rollback Rolling back liftoff@2.5.0 failed (this is probably harmless):ETXTBSY: text file is busy, unlink '/home/vagrant/userfrosting/node_modules/gulp/node_modules/liftoff/package.json.1455440105'
npm WARN rollback Rolling back expand-brackets@2.1.4 failed (this is probably harmless): ETXTBSY: text file is busy, unlink '/home/vagrant/userfrosting/node_modules/gulp/node_modules/expand-brackets/package.json.2014169206'
npm WARN rollback Rolling back micromatch@3.1.10 failed (this is probably harmless): ETXTBSY: text file is busy, unlink '/home/vagrant/userfrosting/node_modules/gulp/node_modules/micromatch/package.json.1919511033'
npm WARN rollback Rolling back findup-sync@2.0.0 failed (this is probably harmle ss): ETXTBSY: text file is busy, unlink '/home/vagrant/userfrosting/node_modules/gulp/node_modules/findup-sync/package.json.130799516'
npm WARN enoent ENOENT: no such file or directory, open '/home/vagrant/userfrosting/package.json'
npm WARN userfrosting No description
npm WARN userfrosting No repository field.
npm WARN userfrosting No README data
npm WARN userfrosting No license field.

npm ERR! path /home/vagrant/userfrosting/node_modules/gulp/node_modules/copy-descriptor/package.json.653663064
npm ERR! code ETXTBSY
npm ERR! errno -26
npm ERR! syscall rename
npm ERR! ETXTBSY: text file is busy, rename '/home/vagrant/userfrosting/node_modules/gulp/node_modules/copy-descriptor/package.json.653663064' -> '/home/vagrant/userfrosting/node_modules/gulp/node_modules/copy-descriptor/package.json'

When I then try to rename the file it is telling me to rename it tells me to rename another file, and then another file, and then another feil. All being .json files in either /copy-descriptor folder or /get-value folder under node-modules/gulp/node_modules/

I have version 6.0.0 of npm and v.8.11.1 of node

0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node',
1 verbose cli   '/usr/bin/npm',
1 verbose cli   'run',
1 verbose cli   'uf-assets-install',
1 verbose cli   '--prefix',
1 verbose cli   '/home/vagrant/userfrosting/build' ]
2 info using npm@6.0.0
3 info using node@v8.11.1
4 verbose run-script [ 'preuf-assets-install',
4 verbose run-script   'uf-assets-install',
4 verbose run-script   'postuf-assets-install' ]
5 info lifecycle @userfrosting/userfrosting@4.1.0~preuf-assets-install: @userfrosting/userfrosting@4.1.0
6 info lifecycle @userfrosting/userfrosting@4.1.0~uf-assets-install: @userfrosting/userfrosting@4.1.0
7 verbose lifecycle @userfrosting/userfrosting@4.1.0~uf-assets-install: unsafe-perm in lifecycle true
8 verbose lifecycle @userfrosting/userfrosting@4.1.0~uf-assets-install: PATH: /usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/vagrant/userfrosting/build/node_modules/.bin:/home/vagrant/.composer/vendor/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
13 verbose stack     at emitTwo (events.js:126:13)
13 verbose stack     at ChildProcess.emit (events.js:214:7)
13 verbose stack     at maybeClose (internal/child_process.js:925:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
14 verbose pkgid @userfrosting/userfrosting@4.1.0
15 verbose cwd /home/vagrant/userfrosting
16 verbose Linux 4.15.0-20-generic
17 verbose argv "/usr/bin/node" "/usr/bin/npm" "run" "uf-assets-install" "--prefix" "/home/vagrant/userfrosting/build"
18 verbose node v8.11.1
19 verbose npm  v6.0.0
20 error code ELIFECYCLE
21 error errno 1
22 error @userfrosting/userfrosting@4.1.0 uf-assets-install: `gulp bower-install`
22 error Exit status 1
23 error Failed at the @userfrosting/userfrosting@4.1.0 uf-assets-install script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

I’ve noticed other issues with Gulp cropping up as well. See https://github.com/userfrosting/UserFrosting/issues/882.

@SiliconSoldier, do you think upgrading to Gulp 4 would fix all of these at once?

@hakstr Do you still have this issue? If so, can you try from UF root the php bakery build-assets -f command? The -f flag will force update all dependencies. Might get some bad update out of your system.

I just did a fresh install of UF in a freshly downloaded Homestead Vagrant box and everything worked fine with node 8 and 10.1.

I also just tried a fresh install with Virtualbox, Vagrant 2.1.1, Homestead 7.4.2, and Node 8.11.1, and I cannot replicate this issue either.

I’m also puzzled that it’s telling you to “try installing Gulp”, because Gulp should actually be pre-installed in the latest version of Homestead:

Included Software

  • Node (With Yarn, Bower, Grunt, and Gulp)

@Malou Didn’t work.

I must be doing something wrong then @alexweissman
Just don’t know what I could be doing wrong two times in a row. When I’m just following the guidelines.

Could it be something not relevant? I found this stackoverflow https://stackoverflow.com/questions/45678817/error-etxtbsy-text-file-is-busy-on-npm-install but the fix there didnt work.

@hakstr can you tell me more about your environment? Are you using Virtualbox? What version of Vagrant are you using? When did you set up this box?

I had this issue and running npm install from a cmd in windows from the build directory fixed it for me (I was able to then run php bakery bake from the userfrosting directory from my VM with no problems).

I got the idea from the edit to the chosen solution in the link you shared (https://stackoverflow.com/questions/45678817/error-etxtbsy-text-file-is-busy-on-npm-install).

Hope this helps!

1 Like

Yes if I’m not mistaken, the issue is that some dependency of the npm install process is trying to create symlinks through the virtual machine, which is a Ubuntu box (*nix filesystem). There is something about the way that Vagrant/Homestead implements sharing its filesystem with the host machine, that causes a problem in Windows host machines.

Since Windows uses a completely different filesystem and implements symlinks differently from *nix, you end up with an error when you have a *nix operating system (Ubuntu) trying to create a symlink on a Windows (probably NTFS) filesystem.

Running the install command natively in Windows seems like a reasonable workaround for the time being.