安装npm模块时权限被拒绝

尝试npm" title="安装npm">安装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" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--module=/usr/lib/node_modules/joplin/node_modules/sqlite3/lib/binding/node-v48-linux-x64/node_sqlite3.node" "--module_name=node_sqlite3" "--module_path=/usr/lib/node_modules/joplin/node_modules/sqlite3/lib/binding/node-v48-linux-x64"

gyp ERR! cwd /usr/lib/node_modules/joplin/node_modules/sqlite3

gyp ERR! node -v v6.11.2

gyp ERR! node-gyp -v v3.6.2

gyp ERR! not ok

node-pre-gyp ERR! build error

node-pre-gyp ERR! stack Error: Failed to execute '/usr/bin/nodejs /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/usr/lib/node_modules/joplin/node_modules/sqlite3/lib/binding/node-v48-linux-x64/node_sqlite3.node --module_name=node_sqlite3 --module_path=/usr/lib/node_modules/joplin/node_modules/sqlite3/lib/binding/node-v48-linux-x64' (1)

node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/usr/lib/node_modules/joplin/node_modules/sqlite3/node_modules/node-pre-gyp/lib/util/compile.js:83:29)

node-pre-gyp ERR! stack at emitTwo (events.js:106:13)

node-pre-gyp ERR! stack at ChildProcess.emit (events.js:191:7)

node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:891:16)

node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)

node-pre-gyp ERR! System Linux 4.4.0-43-Microsoft

node-pre-gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/joplin/node_modules/sqlite3/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"

node-pre-gyp ERR! cwd /usr/lib/node_modules/joplin/node_modules/sqlite3

node-pre-gyp ERR! node -v v6.11.2

node-pre-gyp ERR! node-pre-gyp -v v0.6.36

node-pre-gyp ERR! not ok

我也尝试过,sudo npm i sqlite3 -g --build-from-source但是得到了相同的错误,Error: EACCES:

permission denied, mkdir '/usr/lib/node_modules/sqlite3/build'因此似乎与sqlite3有关。

回答:

您需要收回.npm目录的所有权。

sudo chown -R $(whoami) ~/.npm

并需要在node_modules目录中具有写许可权:

sudo chown -R $(whoami) /usr/lib/node_modules

以上是 安装npm模块时权限被拒绝 的全部内容, 来源链接: utcz.com/qa/424135.html

回到顶部