使用npm進行模塊安裝
安裝命令
npm install formidable
問題:執(zhí)行命令目錄不正確 / 找不到package.json
`-- formidable@1.0.17
npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\xxxx\package.json'
npm WARN Neil No description
npm WARN Neil No repository field.
npm WARN Neil No README data
npm WARN Neil No license field.
解決辦法
切換npm
目錄
C:\Users\xxxx>cd C:\Program Files\nodejs\node_modules\npm
解決辦法
初始化生成package.json
文件
npm install -g
####問題:無相關(guān)權(quán)限
```bash
npm ERR! Windows_NT 10.0.14393
npm 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.0
npm ERR! npm v3.8.9
npm ERR! path C:\Program Files\nodejs\node_modules\npm\node_modules\.staging
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall mkdir
npm ERR! Error: EPERM: operation not permitted, mkdir 'C:\Program Files\nodejs\node_modules\npm\node_modules\.staging'
npm ERR! at Error (native)
......
解決辦法
1、打開對應(yīng)目錄
C:\Windows\System32
2、以管理員身份運行
cmd.exe
3、輸入npm install formidable
命令,等待提示安裝成功
C:\Program Files\nodejs\node_modules\npm>npm install formidable
npm@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上傳路徑,默認(rèn)指向系統(tǒng)盤
var form = new formidable.IncomingForm();
form.uploadDir='tmp'