【发布时间】:2015-07-09 11:58:39
【问题描述】:
我正在使用 vagrant 设置我的环境,当我使用 sudo npm update 时,我收到此错误。
npm ERR! Linux 3.13.0-49-generic
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "update"
npm ERR! node v0.12.2
npm ERR! npm v2.7.4
npm ERR! path ../mime/cli.js
npm ERR! code EPROTO
npm ERR! errno -71
npm ERR! EPROTO, symlink '../mime/cli.js'
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! Linux 3.13.0-49-generic
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "update"
npm ERR! node v0.12.2
npm ERR! npm v2.7.4
npm ERR! path npm-debug.log.7dead0fa1a1d874805ab6e477bd46e0e
npm ERR! code ETXTBSY
npm ERR! errno -26
npm ERR! ETXTBSY, rename 'npm-debug.log.7dead0fa1a1d874805ab6e477bd46e0e'
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! /vagrant/myapp/npm-debug.log
注意 1:我正在使用 trusty32 盒子,我也在使用节点 0.12、npm 2.7.4 和 mongodb 2.6。
注意 2:我无法安装 mongoose 和 package.json 中的默认 express-generator npm 模块
UPDATE1:当我尝试“sudo npm install mongoose -save”时出现 Npm 错误
npm ERR! tar.unpack untar error /home/vagrant/.npm/wrappy/1.0.1/package.tgz
npm ERR! tar.unpack untar error /home/vagrant/.npm/brace-expansion/1.1.0/package
.tgz
npm ERR! Linux 3.13.0-49-generic
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install" "mongoose"
npm ERR! node v0.12.2
npm ERR! npm v2.7.4
npm ERR! path /vagrant/myapp/node_modules/mongoose/node_modules/mongodb/node_mod
ules/mongodb-core/node_modules/bson/node_modules/bson-ext/node_modules/node-pre-
gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/minimatch/tes
t/extglob-ending-with-state-char.js
npm ERR! code EPERM
npm ERR! errno -1
npm ERR! Error: EPERM, open '/vagrant/myapp/node_modules/mongoose/node_modules/m
ongodb/node_modules/mongodb-core/node_modules/bson/node_modules/bson-ext/node_mo
dules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_module
s/minimatch/test/extglob-ending-with-state-char.js'
npm ERR! at Error (native)
npm ERR! { [Error: EPERM, open '/vagrant/myapp/node_modules/mongoose/node_modul
es/mongodb/node_modules/mongodb-core/node_modules/bson/node_modules/bson-ext/nod
e_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_mo
dules/minimatch/test/extglob-ending-with-state-char.js']
npm ERR! errno: -1,
npm ERR! code: 'EPERM',
npm ERR! path: '/vagrant/myapp/node_modules/mongoose/node_modules/mongodb/node
_modules/mongodb-core/node_modules/bson/node_modules/bson-ext/node_modules/node-
pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/minimatch
/test/extglob-ending-with-state-char.js' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! Linux 3.13.0-49-generic
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install" "mongoose"
npm ERR! node v0.12.2
npm ERR! npm v2.7.4
npm ERR! path /vagrant/myapp/node_modules/mongoose/node_modules/mongodb/node_mod
ules/mongodb-core/node_modules/bson/node_modules/bson-ext/node_modules/node-pre-
gyp/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stre
am/lib/_stream_duplex.js
npm ERR! code EPERM
npm ERR! errno -1
npm ERR! Error: EPERM, open '/vagrant/myapp/node_modules/mongoose/node_modules/m
ongodb/node_modules/mongodb-core/node_modules/bson/node_modules/bson-ext/node_mo
dules/node-pre-gyp/node_modules/npmlog/node_modules/are-we-there-yet/node_module
s/readable-stream/lib/_stream_duplex.js'
npm ERR! at Error (native)
npm ERR! { [Error: EPERM, open '/vagrant/myapp/node_modules/mongoose/node_modul
es/mongodb/node_modules/mongodb-core/node_modules/bson/node_modules/bson-ext/nod
e_modules/node-pre-gyp/node_modules/npmlog/node_modules/are-we-there-yet/node_mo
dules/readable-stream/lib/_stream_duplex.js']
npm ERR! errno: -1,
npm ERR! code: 'EPERM',
npm ERR! path: '/vagrant/myapp/node_modules/mongoose/node_modules/mongodb/node
_modules/mongodb-core/node_modules/bson/node_modules/bson-ext/node_modules/node-
pre-gyp/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-
stream/lib/_stream_duplex.js' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! Linux 3.13.0-49-generic
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install" "mongoose"
npm ERR! node v0.12.2
npm ERR! npm v2.7.4
npm ERR! path npm-debug.log.547bda60a6af6dbfaba7873fdc566e0c
npm ERR! code ETXTBSY
npm ERR! errno -26
npm ERR! ETXTBSY, rename 'npm-debug.log.547bda60a6af6dbfaba7873fdc566e0c'
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! Linux 3.13.0-49-generic
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install" "mongoose"
npm ERR! node v0.12.2
npm ERR! npm v2.7.4
npm ERR! path /vagrant/myapp/node_modules/mongoose/node_modules/mongodb/node_mod
ules/mongodb-core/node_modules/bson/node_modules/bson-ext/node_modules/node-pre-
gyp/node_modules/request/node_modules/combined-stream/node_modules/delayed-strea
m/lib/delayed_stream.js
npm ERR! code EPERM
npm ERR! errno -1
npm ERR! Error: EPERM, open '/vagrant/myapp/node_modules/mongoose/node_modules/m
ongodb/node_modules/mongodb-core/node_modules/bson/node_modules/bson-ext/node_mo
dules/node-pre-gyp/node_modules/request/node_modules/combined-stream/node_module
s/delayed-stream/lib/delayed_stream.js'
npm ERR! at Error (native)
npm ERR! { [Error: EPERM, open '/vagrant/myapp/node_modules/mongoose/node_modul
es/mongodb/node_modules/mongodb-core/node_modules/bson/node_modules/bson-ext/nod
e_modules/node-pre-gyp/node_modules/request/node_modules/combined-stream/node_mo
dules/delayed-stream/lib/delayed_stream.js']
npm ERR! errno: -1,
npm ERR! code: 'EPERM',
npm ERR! path: '/vagrant/myapp/node_modules/mongoose/node_modules/mongodb/node
_modules/mongodb-core/node_modules/bson/node_modules/bson-ext/node_modules/node-
pre-gyp/node_modules/request/node_modules/combined-stream/node_modules/delayed-s
tream/lib/delayed_stream.js' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! tar.unpack untar error /home/vagrant/.npm/lodash._basetostring/3.0.0/pa
ckage.tgz
npm ERR! tar.unpack untar error /home/vagrant/.npm/lodash._createpadding/3.6.0/p
ackage.tgz
npm ERR! tar.unpack untar error /home/vagrant/.npm/lodash._createpadding/3.6.0/p
ackage.tgz
npm ERR! tar.unpack untar error /home/vagrant/.npm/lodash._createpadding/3.6.0/p
ackage.tgz
npm ERR! tar.unpack untar error /home/vagrant/.npm/lodash._basetostring/3.0.0/pa
ckage.tgz
npm ERR! tar.unpack untar error /home/vagrant/.npm/lodash._basetostring/3.0.0/pa
ckage.tgz
npm ERR! Linux 3.13.0-49-generic
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install" "mongoose"
npm ERR! node v0.12.2
npm ERR! npm v2.7.4
npm ERR! path /vagrant/myapp/node_modules/mongoose/node_modules/mongodb/node_mod
ules/mongodb-core/node_modules/bson/node_modules/bson-ext/node_modules/node-pre-
gyp/node_modules/request/node_modules/har-validator/node_modules/is-my-json-vali
d/test/json-schema.js
npm ERR! code EPERM
npm ERR! errno -1
npm ERR! Error: EPERM, open '/vagrant/myapp/node_modules/mongoose/node_modules/m
ongodb/node_modules/mongodb-core/node_modules/bson/node_modules/bson-ext/node_mo
dules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/
is-my-json-valid/test/json-schema.js'
npm ERR! at Error (native)
npm ERR! { [Error: EPERM, open '/vagrant/myapp/node_modules/mongoose/node_modul
es/mongodb/node_modules/mongodb-core/node_modules/bson/node_modules/bson-ext/nod
e_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modu
les/is-my-json-valid/test/json-schema.js']
npm ERR! errno: -1,
npm ERR! code: 'EPERM',
npm ERR! path: '/vagrant/myapp/node_modules/mongoose/node_modules/mongodb/node
_modules/mongodb-core/node_modules/bson/node_modules/bson-ext/node_modules/node-
pre-gyp/node_modules/request/node_modules/har-validator/node_modules/is-my-json-
valid/test/json-schema.js' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! Linux 3.13.0-49-generic
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install" "mongoose"
npm ERR! node v0.12.2
npm ERR! npm v2.7.4
npm ERR! path /vagrant/myapp/node_modules/mongoose/node_modules/mongodb/node_mod
ules/mongodb-core/node_modules/bson/node_modules/bson-ext/node_modules/node-pre-
gyp/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/bro
wser/bluebird.min.js
npm ERR! code EPERM
npm ERR! errno -1
npm ERR! Error: EPERM, open '/vagrant/myapp/node_modules/mongoose/node_modules/m
ongodb/node_modules/mongodb-core/node_modules/bson/node_modules/bson-ext/node_mo
dules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/
bluebird/js/browser/bluebird.min.js'
npm ERR! at Error (native)
npm ERR! { [Error: EPERM, open '/vagrant/myapp/node_modules/mongoose/node_modul
es/mongodb/node_modules/mongodb-core/node_modules/bson/node_modules/bson-ext/nod
e_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modu
les/bluebird/js/browser/bluebird.min.js']
npm ERR! errno: -1,
npm ERR! code: 'EPERM',
npm ERR! path: '/vagrant/myapp/node_modules/mongoose/node_modules/mongodb/node
_modules/mongodb-core/node_modules/bson/node_modules/bson-ext/node_modules/node-
pre-gyp/node_modules/request/node_modules/har-validator/node_modules/bluebird/js
/browser/bluebird.min.js' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! tar.unpack untar error /home/vagrant/.npm/ansi-styles/2.0.1/package.tgz
npm ERR! tar.unpack untar error /home/vagrant/.npm/has-ansi/1.0.3/package.tgz
npm ERR! tar.unpack untar error /home/vagrant/.npm/strip-ansi/2.0.1/package.tgz
npm ERR! tar.unpack untar error /home/vagrant/.npm/escape-string-regexp/1.0.3/pa
ckage.tgz
npm ERR! tar.unpack untar error /home/vagrant/.npm/supports-color/1.3.1/package.
tgz
npm ERR! tar.unpack untar error /home/vagrant/.npm/graceful-readlink/1.0.1/packa
ge.tgz
npm ERR! Please include the following file with any support request:
npm ERR! /vagrant/myapp/npm-debug.log
UPDATE2:使用 npm update 切换到 nvm 效果更好,但我无法安装 mongoose,但遇到了同样的错误
UPDATE3:我认为问题是因为路径
【问题讨论】:
-
尝试在 Vagrant 正在挂载的 app 目录上运行 chmod 777,或者在 vagrant 机器上运行 sudo npm update。我认为这是因为 npm 无法写入 app 目录。
-
chmod777 ?.我说,我用 sudo npm update
-
Chmod 777 如果 npm 无法写入应用程序目录会有所帮助——我怀疑这是问题所在。需要 /vagrant/myapp/npm-debug.log 的内容来进一步调试。
-
我尝试了 chmod777 它可以与 npm update 一起使用,但我仍然无法安装 mongoose,我在哪里可以添加我的 npm-log 文件?
标签: node.js ubuntu npm ubuntu-14.04