使用npm进行模块安装
安装命令
npm install formidable
问题:执行命令目录不正确 / 找不到package.json
`-- formidable@1.0.17npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\xxxx\package.json'npm WARN Neil No descriptionnpm WARN Neil No repository field.npm WARN Neil No README datanpm WARN Neil No license field.
解决办法
切换npm目录
C:\Users\xxxx>cd C:\Program Files\nodejs\node_modules\npm
解决办法
初始化生成package.json文件
npm install -g####问题:无相关权限```bashnpm ERR! Windows_NT 10.0.14393npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "formidable"npm ERR! node v6.2.0npm ERR! npm v3.8.9npm ERR! path C:\Program Files\nodejs\node_modules\npm\node_modules\.stagingnpm ERR! code EPERMnpm ERR! errno -4048npm ERR! syscall mkdirnpm ERR! Error: EPERM: operation not permitted, mkdir 'C:\Program Files\nodejs\node_modules\npm\node_modules\.staging'npm ERR! at Error (native)......
解决办法
1、打开对应目录
C:\Windows\System32
2、以管理员身份运行
cmd.exe
3、输入 npm install formidable 命令,等待提示安装成功
C:\Program Files\nodejs\node_modules\npm>npm install formidablenpm@3.8.9 C:\Program Files\nodejs\node_modules\npm`-- formidable@1.0.17 extraneous
问题:重命名文件名异常
源码
var form = new formidable.IncomingForm(); form.parse(request, function(error, fields, files) { fs.renameSync(files.upload.path, "/tmp/test.png");
异常
return binding.rename(pathModule._makeLong(oldPath), ^Error: EXDEV: cross-device link not permitted, rename 'C:\Users\xxxx\AppData\Local\Temp\upload_e835305b073c34bf9219b7d0290fad46' -> 'E:\tmp\test.png' at Error (native) at Object.fs.renameSync (fs.js:803:18)
解决办法
指定form上传路径,默认指向系统盘
var form = new formidable.IncomingForm();form.uploadDir='tmp'