-
Notifications
You must be signed in to change notification settings - Fork 3k
Comments
+1, when trying to install gulp twice:
|
This appears to be because aufs (Docker's default filesystem) will often cause rename(2) to return
The actual error in npm appears to be during finalize for a new version of an already-installed module, when moving the old version to a Based on the comment above from the aufs documentation, that would suggest that calls to |
|
This happens to me when running It's very frustrating. NPM3 is so much better, but it's killing my docker images because of this 1 small issue. Any way we can get a fix for this? |
<
8000
a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/qrpike/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/qrpike">@qrpike The fastest way to get a fix for this would be to write a module that implements an My biggest concern (and one I haven't investigated yet) is that ordinarily |
Oh ouch, just ran into this too – it's completely preventing npm3 from being updated on docker images. Reproduce: docker run mhart/alpine-node:5 npm install -g npm
# OR
docker run mhart/alpine-node:5 npm update -g npm |
+1
|
+1 Step 7 : RUN npm install http-server
---> Running in 47faed65875d
npm info it worked if it ends with ok
npm info using npm@3.3.6
npm info using node@v5.0.0
npm info attempt registry request try #1 at 8:48:06 AM
npm http request GET https://registry.npmjs.org/http-server
npm http 304 https://registry.npmjs.org/http-server
npm info attempt registry request try #1 at 8:48:06 AM
npm http request GET https://registry.npmjs.org/colors
npm http 304 https://registry.npmjs.org/colors
npm info lifecycle http-server@0.8.5~preinstall: http-server@0.8.5
npm ERR! Linux 4.1.10-boot2docker
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "http-server"
npm ERR! node v5.0.0
npm ERR! npm v3.3.6
npm ERR! path /app/node_modules/http-server
npm ERR! code EXDEV
npm ERR! errno -18
npm ERR! syscall rename
npm ERR! EXDEV: cross-device link not permitted, rename '/app/node_modules/http-server' -> '/app/node_modules/.http-server.DELETE'
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! Please include the following file with any support request:
npm ERR! /app/npm-debug.log``` |
Having this same problem. Any workaround? |
use docker image |
@iarna node-fs-extra contains a
Knowing that this issue is a major stumbling block for Docker containers in particular, could you consider a conditional based on e.g. checking if |
Added trivial PR to go with previous comment. I don’t know if that’s the sort of thing you accept for |
My CI is also blocked by this issue. |
Updating packages is currently broken on npm 3 running on AUFS Upstream issue: npm/npm#9863
Did run into the same issue on a plain npm install. Node 5.1.0 and the bundled npm version. Switching the Docker image from aufs to overlayfs seems to work. |
Happens to me also on docker image (Dockerfile
Although |
I use a workaround to upgrade npm that is not failing. Instead of 'npm install -g npm' I use:
My Dockerfile have:
The result is:
|
Same issue when trying to downgrade npm from a newer version of node:
Dockerfile:
|
same issue with node:5.1.0 |
Also having this problem with Node 5.0.0 and NPM 3.3.6. |
same problem here: npm ERR! EXDEV: cross-device link not permitted, rename '/usr/local/lib/node_modules/npm' -> '/usr/local/lib/node_modules/.npm.DELETE' npm ERR! Please include the following file with any support request: |
Same issue:
|
Have you guys tried updating your guys' npm versions to 3.5.2? |
@dciccale Also, why are you using such an old kernel? |
@KamranMackey That is the log output from dockerhub |
Simply replace the rename method with something cross device compatible the way to go is fork this of and implament https://www.npmjs.com/package/fs.extra as replacement for fs methods then use move not fs.rename |
Node v6.9.1 and still having this issue |
@mirague even with node 8 you get that error and also node 9 :) its a NPM design Problem not a NodeJS issue :) NPM === not 100% compatible to all Docker Storage Engines :) |
Speaking of the devil… we have a new PR. =D |
Niiiiiiice 👍 |
@iarna hahah ya but good that we all have since years a patched method that works great and simply use fs.move in the cases where its needed ;) |
I thought I had installed npm version 4.x. But, my docker container says 3.x was installed, and gave me the following travis ci traceback full of errors: Error: Execution of '/usr/bin/npm install --global uglify-js@2.7.5' returned 238: npm ERR! Linux 4.4.0-51-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "--global" "uglify-js@2.7.5"
npm ERR! node v5.12.0
npm ERR! npm v3.8.6
npm ERR! path /usr/lib/node_modules/uglify-js
npm ERR! code EXDEV
npm ERR! errno -18
npm ERR! syscall rename
npm ERR! EXDEV: cross-device link not permitted, rename '/usr/lib/node_modules/uglify-js' -> '/usr/lib/node_modules/.uglify-js.DELETE'
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! Please include the following file with any support request:
npm ERR! /npm-debug.log
Error: /Stage[main]/Package::Webcompilers/Package[uglify-js@2.7.5]/ensure: change from absent to present failed: Execution of '/usr/bin/npm install --global uglify-js@2.7.5' returned 238: npm ERR! Linux 4.4.0-51-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "--global" "uglify-js@2.7.5"
npm ERR! node v5.12.0
npm ERR! npm v3.8.6
npm ERR! path /usr/lib/node_modules/uglify-js
npm ERR! code EXDEV
npm ERR! errno -18
npm ERR! syscall rename
npm ERR! EXDEV: cross-device link not permitted, rename '/usr/lib/node_modules/uglify-js' -> '/usr/lib/node_modules/.uglify-js.DELETE'
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! Please include the following file with any support request:
npm ERR! /npm-debug.log
Error: Execution of '/usr/bin/npm install --global imagemin@5.2.2' returned 238: npm ERR! Linux 4.4.0-51-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "--global" "imagemin@5.2.2"
npm ERR! node v5.12.0
npm ERR! npm v3.8.6
npm ERR! path /usr/lib/node_modules/imagemin
npm ERR! code EXDEV
npm ERR! errno -18
npm ERR! syscall rename
npm ERR! EXDEV: cross-device link not permitted, rename '/usr/lib/node_modules/imagemin' -> '/usr/lib/node_modules/.imagemin.DELETE'
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! Please include the following file with any support request:
npm ERR! /npm-debug.log
Error: /Stage[main]/Package::Webcompilers/Package[imagemin@5.2.2]/ensure: change from absent to present failed: Execution of '/usr/bin/npm install --global imagemin@5.2.2' returned 238: npm ERR! Linux 4.4.0-51-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "--global" "imagemin@5.2.2"
npm ERR! node v5.12.0
npm ERR! npm v3.8.6
npm ERR! path /usr/lib/node_modules/imagemin
npm ERR! code EXDEV
npm ERR! errno -18
npm ERR! syscall rename
npm ERR! EXDEV: cross-device link not permitted, rename '/usr/lib/node_modules/imagemin' -> '/usr/lib/node_modules/.imagemin.DELETE'
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! Please include the following file with any support request:
npm ERR! /npm-debug.log
Error: Execution of '/usr/bin/npm install --global node-sass@4.5.0' returned 238: npm ERR! Linux 4.4.0-51-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "--global" "node-sass@4.5.0"
npm ERR! node v5.12.0
npm ERR! npm v3.8.6
npm ERR! path /usr/lib/node_modules/node-sass
npm ERR! code EXDEV
npm ERR! errno -18
npm ERR! syscall rename
npm ERR! EXDEV: cross-device link not permitted, rename '/usr/lib/node_modules/node-sass' -> '/usr/lib/node_modules/.node-sass.DELETE'
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! Please include the following file with any support request:
npm ERR! /npm-debug.log
Error: /Stage[main]/Package::Webcompilers/Package[node-sass@4.5.0]/ensure: change from absent to present failed: Execution of '/usr/bin/npm install --global node-sass@4.5.0' returned 238: npm ERR! Linux 4.4.0-51-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "--global" "node-sass@4.5.0"
npm ERR! node v5.12.0
npm ERR! npm v3.8.6
npm ERR! path /usr/lib/node_modules/node-sass
npm ERR! code EXDEV
npm ERR! errno -18
npm ERR! syscall rename
npm ERR! EXDEV: cross-device link not permitted, rename '/usr/lib/node_modules/node-sass' -> '/usr/lib/node_modules/.node-sass.DELETE'
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! Please include the following file with any support request:
npm ERR! /npm-debug.log
Error: Execution of '/usr/bin/npm install --global babel-core@6.22.1' returned 238: npm ERR! Linux 4.4.0-51-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "--global" "babel-core@6.22.1"
npm ERR! node v5.12.0
npm ERR! npm v3.8.6
npm ERR! path /usr/lib/node_modules/babel-core
npm ERR! code EXDEV
npm ERR! errno -18
npm ERR! syscall rename
npm ERR! EXDEV: cross-device link not permitted, rename '/usr/lib/node_modules/babel-core' -> '/usr/lib/node_modules/.babel-core.DELETE'
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! Please include the following file with any support request:
npm ERR! /npm-debug.log
Error: /Stage[main]/Package::Webcompilers/Package[babel-core@6.22.1]/ensure: change from absent to present failed: Execution of '/usr/bin/npm install --global babel-core@6.22.1' returned 238: npm ERR! Linux 4.4.0-51-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "--global" "babel-core@6.22.1"
npm ERR! node v5.12.0
npm ERR! npm v3.8.6
npm ERR! path /usr/lib/node_modules/babel-core
npm ERR! code EXDEV
npm ERR! errno -18
npm ERR! syscall rename
npm ERR! EXDEV: cross-device link not permitted, rename '/usr/lib/node_modules/babel-core' -> '/usr/lib/node_modules/.babel-core.DELETE'
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! Please include the following file with any support request:
npm ERR! /npm-debug.log
Error: Execution of '/usr/bin/npm install --global browserify@14.0.0' returned 238: npm ERR! Linux 4.4.0-51-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "--global" "browserify@14.0.0"
npm ERR! node v5.12.0
npm ERR! npm v3.8.6
npm ERR! path /usr/lib/node_modules/browserify
npm ERR! code EXDEV
npm ERR! errno -18
npm ERR! syscall rename
npm ERR! EXDEV: cross-device link not permitted, rename '/usr/lib/node_modules/browserify' -> '/usr/lib/node_modules/.browserify.DELETE'
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! Please include the following file with any support request:
npm ERR! /npm-debug.log
Error: /Stage[main]/Package::Webcompilers/Package[browserify@14.0.0]/ensure: change from absent to present failed: Execution of '/usr/bin/npm install --global browserify@14.0.0' returned 238: npm ERR! Linux 4.4.0-51-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "--global" "browserify@14.0.0"
npm ERR! node v5.12.0
npm ERR! npm v3.8.6
npm ERR! path /usr/lib/node_modules/browserify
npm ERR! code EXDEV
npm ERR! errno -18
npm ERR! syscall rename
npm ERR! EXDEV: cross-device link not permitted, rename '/usr/lib/node_modules/browserify' -> '/usr/lib/node_modules/.browserify.DELETE'
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! Please include the following file with any support request:
npm ERR! /npm-debug.log
Error: Execution of '/usr/bin/npm install --global babelify@7.3.0' returned 238: npm ERR! Linux 4.4.0-51-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "--global" "babelify@7.3.0"
npm ERR! node v5.12.0
npm ERR! npm v3.8.6
npm ERR! path /usr/lib/node_modules/babelify
npm ERR! code EXDEV
npm ERR! errno -18
npm ERR! syscall rename
npm ERR! EXDEV: cross-device link not permitted, rename '/usr/lib/node_modules/babelify' -> '/usr/lib/node_modules/.babelify.DELETE'
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! Please include the following file with any support request:
npm ERR! /npm-debug.log
Error: /Stage[main]/Package::Webcompilers/Package[babelify@7.3.0]/ensure: change from absent to present failed: Execution of '/usr/bin/npm install --global babelify@7.3.0' returned 238: npm ERR! Linux 4.4.0-51-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "--global" "babelify@7.3.0"
npm ERR! node v5.12.0
npm ERR! npm v3.8.6
npm ERR! path /usr/lib/node_modules/babelify
npm ERR! code EXDEV
npm ERR! errno -18
npm ERR! syscall rename
npm ERR! EXDEV: cross-device link not permitted, rename '/usr/lib/node_modules/babelify' -> '/usr/lib/node_modules/.babelify.DELETE'
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! Please include the following file with any support request:
npm ERR! /npm-debug.log |
Seems like the fix is no longer necessary (and actively fails):
https://deb.nodesource.com/setup_8.x |
Can confirm that using npm 5.0.3 on our docker image (coming from the latest node 8.1.3), there were no problems upgrading npm to 5.1.0 using |
@MatthiasKuehneEllerhold thats logical as you see npm 5 don't has that file that this fix patches do you need a new fix for it then open please a issue like npm 5 exdev problem on docker then you post a link here and i will address that with a new patch |
A short test confirms that everything works as expected without the fix. So for now I'm good. Thanks! |
Uh oh!
There was an error while loading. Please reload this page.
Update 2016-09-06 with temporary fix
Fix from @davidbarton
Alternate fix from @nordluf
Background
Our project initialization scripts make sure a specific version of npm is installed. If npm 3.x is accidentally installed twice the install fails with
EXDEV: cross-device link not permitted
. Installing additional modules results in the same error.npm 2.x does not have this problem.
Using Docker 1.8.2, this Dockerfile:
Results in the following:
The text was updated successfully, but these errors were encountered: