我尝试安装npm模块时收到一个奇怪的权限错误.我正在启动它sudo所以我确定我有访问权限,但由于某种原因它一直抱怨错误:
堆栈错误:EACCES:权限被拒绝,mkdir'/ usr/lib/node_modules/joplin/node_modules/sqlite3/build'
我已经尝试重新启动计算机,并/usr/lib/node_modules/joplin使用chmod 777 创建目录,但它仍然无效.
$ sudo npm install -g joplin
/usr/bin/joplin -> /usr/lib/node_modules/joplin/main.js
> sqlite3@3.1.9 install /usr/lib/node_modules/joplin/node_modules/sqlite3
> node-pre-gyp install --fallback-to-build
node-pre-gyp ERR! Tried to download(undefined): https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.9/node-v48-linux-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for sqlite3@3.1.9 and node@6.11.2 (node-v48 ABI) (falling back to source compile with node-gyp)
gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir '/usr/lib/node_modules/joplin/node_modules/sqlite3/build'
gyp ERR! stack at Error (native)
gyp ERR! System Linux 4.4.0-43-Microsoft
gyp ERR! command "/usr/bin/nodejs" …Run Code Online (Sandbox Code Playgroud) 无法更正尝试安装松露的 EACCESS 问题。
是的,我最初是通过 sudo 而不是 nvm 安装了 npm,但这已得到纠正 - 除非谁知道 - 根据网络。
这条路径实际上并不存在,所以我根据一个 git 问题创建了它:
/root/.config/truffle/
[root@home config]# ls -la |grep truffle
drwxrwxr-x. 2 root root 6 Jul 14 17:08 truffle
[user@home ~]$ nvm --version
0.34.0
$ npm -v
6.9.0
Run Code Online (Sandbox Code Playgroud)
分配完全权限node_modules:
ll|grep node
drwxrwxrwx. 31 user user 4096 Jul 14 16:58 node_modules
Run Code Online (Sandbox Code Playgroud)
我尝试了此链接中的建议:安装 npm 模块时权限被拒绝。
Ethereum SE 的用户在 Ubuntu问题上有这个问题。
浏览以下链接并授予 package-lock 的完全权限,以防问题npm 通知创建了一个锁文件为 package-lock.json。你应该提交这个文件
尝试强制清除 npm 缓存。
这个 github 用户显然通过 …