我正在尝试在本地计算机上执行反应教程(centOS)
我跑了
sudo npm install -g create-react-app
运行该命令后,我收到以下错误
npm ERR! Linux 3.10.0-514.el7.x86_64
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install" "-g" "create-react-app"
npm ERR! node v6.10.3
npm ERR! npm v3.10.10
npm ERR! path /tmp/npm-1422-84cdbe70/registry.npmjs.org/tar/-/tar-2.2.1.tgz
npm ERR! code EPERM
npm ERR! errno -1
npm ERR! syscall open
npm ERR! Error: EPERM: operation not permitted, open '/tmp/npm- 1422-84cdbe70/registry.npmjs.org/tar/-/tar-2.2.1.tgz' while getting shasum for /tmp/npm-1422-84cdbe70/registry.npmjs.org/tar/-/tar-2.2.1.tgz
npm ERR! From: https://registry.npmjs.org/tar/-/tar-2.2.1.tgz
npm ERR! at Error (native)
npm ERR! { Error: EPERM: operation not permitted, open '/tmp/npm-1422-84cdbe70/registry.npmjs.org/tar/-/tar-2.2.1.tgz' while getting shasum for /tmp/npm-1422-84cdbe70/registry.npmjs.org/tar/-/tar-2.2.1.tgz
npm ERR! From: https://registry.npmjs.org/tar/-/tar-2.2.1.tgz
npm ERR! at Error (native)
npm ERR! errno: -1,
npm ERR! code: 'EPERM',
npm ERR! syscall: 'open',
npm ERR! path: '/tmp/npm-1422-84cdbe70/registry.npmjs.org/tar/-/tar-2.2.1.tgz',
npm ERR! parent: 'tar-pack' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
我尝试进入目录并解压缩.tgz文件并更改一些权限并且没有任何效果。我在网上遇到了类似问题的一些解决方案,但仍然没有运气。
我也跑了
npm cache clear
任何人都可以解释为什么会这样吗?有什么建议吗?
答案 0 :(得分:0)
运行npm cache clear
甚至npm cache clear -f
并不总是清除所有缓存。
有时您应手动删除缓存文件。 为此,请转到默认的NPM缓存文件夹并删除其内容:
默认:Linux上的~/.npm
或Windows上的%AppData%/npm-cache
。
然后,您可以尝试使用npm install -g
安装所需的包。
请避免使用 sudo npm install -g
因为您可以搞砸npm权限。而是将权限更改为npm的默认目录,或将npm的默认目录更改为另一个目录。更多详情:
https://docs.npmjs.com/getting-started/fixing-npm-permissions
警告:如果npm的默认路径仅为/usr
,则更改目录权限将是有害的。