我正在尝试使用命令安装typescript npm install -g typescript,并返回此错误:
npm ERR! Error: EACCES: permission denied, access '/usr/lib/node_modules'
npm ERR! at Error (native)
npm ERR! { Error: EACCES: permission denied, access '/usr/lib/node_modules'
npm ERR! at Error (native)
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/usr/lib/node_modules' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! Linux 4.4.0-93-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "typescript"
npm ERR! node v6.11.2
npm ERR! npm v3.10.10
npm ERR! path npm-debug.log.1024969454
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall open
npm ERR! Error: EACCES: permission denied, open 'npm-debug.log.1024969454'
npm ERR! at Error (native)
npm ERR! { Error: EACCES: permission denied, open 'npm-debug.log.1024969454'
npm ERR! at Error (native)
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'open',
npm ERR! path: 'npm-debug.log.1024969454' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! Please include the following file with any support request:
npm ERR! /npm-debug.log
jramirez@jramirez:/$ ^C
jramirez@jramirez:/$ npm install typescript
npm WARN checkPermissions Missing write access to /
/
??? typescript@2.5.2
npm WARN enoent ENOENT: no such file or directory, open '/package.json'
npm WARN !invalid#1 No description
npm WARN !invalid#1 No repository field.
npm WARN !invalid#1 No README data
npm WARN !invalid#1 No license field.
npm ERR! Linux 4.4.0-93-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "typescript"
npm ERR! node v6.11.2
npm ERR! npm v3.10.10
npm ERR! path /
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/'
npm ERR! at Error (native)
npm ERR! { Error: EACCES: permission denied, access '/'
npm ERR! at Error (native) errno: -13, code: 'EACCES', syscall: 'access', path: '/' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! Linux 4.4.0-93-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "typescript"
npm ERR! node v6.11.2
npm ERR! npm v3.10.10
npm ERR! path npm-debug.log.2387664261
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall open
npm ERR! Error: EACCES: permission denied, open 'npm-debug.log.2387664261'
npm ERR! at Error (native)
npm ERR! { Error: EACCES: permission denied, open 'npm-debug.log.2387664261'
npm ERR! at Error (native)
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'open',
npm ERR! path: 'npm-debug.log.2387664261' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! Please include the following file with any support request:
npm ERR! /npm-debug.log
Run Code Online (Sandbox Code Playgroud)
另外我也运行npm install typescript(没有-g),但没有'工作,或存在任何其他方式来安装打字稿?我的操作系统是Linux Ubuntu 16.04.我很少使用node,也不知道喜欢解决这个问题.
我的问题是:确切地说,什么目录需要permmisions?
Eul*_*ack 156
不推荐在npm install中使用sudo,请按照npmjs官方文档中的步骤进行操作:)
为全局安装创建一个目录:
mkdir ~/.npm-global
Run Code Online (Sandbox Code Playgroud)
配置npm以使用新的目录路径:
npm config set prefix '~/.npm-global'
Run Code Online (Sandbox Code Playgroud)
打开或创建一个〜/ .profile文件并添加以下行:
export PATH=~/.npm-global/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
返回命令行,更新系统变量:
source ~/.profile
Run Code Online (Sandbox Code Playgroud)
测试:在不使用sudo的情况下全局下载软件包.
npm install -g typescript
Run Code Online (Sandbox Code Playgroud)
资料来源:https://docs.npmjs.com/getting-started/fixing-npm-permissions
Jua*_*uan 15
在ubuntu中安装全局包时,在写入usr/bin文件夹时需要特殊的写入权限.这是出于安全原因.
因此,每次安装全局包时,请使用:
sudo npm install -g [package-name]
针对您的具体情况:
sudo npm install -g typescript
当你尝试它而没有-g你正在做的就是在你所在的任何文件夹中本地安装包:
so:npm install typescript将node_modules在您所在的文件夹中创建一个文件夹.
我在全球范围内安装webpack服务器时遇到同样的问题,使用步骤解决了我的问题,我的工作对你而言.
上面提到的步骤:在开始之前备份计算机.
为全局安装创建一个目录:
1. mkdir ~/.npm-global
配置npm以使用新的目录路径:
2. npm config set prefix '~/.npm-global'
打开或创建一个〜/ .profile文件并添加以下行:
3. export PATH=~/.npm-global/bin:$PATH
返回命令行,更新系统变量:
4. source ~/.profile
测试:在不使用sudo的情况下全局下载软件包.
npm install -g jshint
您可以使用相应的ENV变量代替步骤2-4(例如,如果您不想修改〜/ .profile):
NPM_CONFIG_PREFIX=~/.npm-global