npm 模块安装问题

使用npm进行模块安装

安装命令

npm install formidable

问题:执行命令目录不正确 / 找不到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
####问题:无相关权限
```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、打开对应目录

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上传路径,默认指向系统盘

var form = new formidable.IncomingForm();
form.uploadDir='tmp' 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容