当前位置: 首页 > 面试题库 >

安装npm模块时权限被拒绝

岳飞航
2023-03-14
问题内容

尝试安装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


 类似资料:
  • 问题内容: 我正在尝试安装,并且出现以下错误: 我已经尝试过此解决方案,但仍不能解决我的问题,仍然遇到相同的错误。 让我知道我是否可以添加任何帮助解决此问题的方法。 问题答案: 从Fixing npm权限中看到了这一点,它很有帮助,也许您也可以尝试一下。 选项1:将权限更改为npm的默认目录 找到npm目录的路径: 对于许多系统,这将是。 警告 :如果显示的路径是,请切换到 选项2, 否则您将弄乱

  • 我正在尝试安装,出现以下错误: 我尝试过这个解决方案,但它不能解决我的问题,仍然得到同样的错误。 让我知道,如果有什么我可以补充,以帮助解决这个问题。

  • 我试图在MacOS10.12上安装sudoNPM-gappium。5. 我得到这个错误: 信息Chromedriver安装为平台“mac”和架构“64”安装Chromedriver版本“2.30” 信息Chromedriver安装打开临时文件以将Chromedriver\u mac64写入。。。 错误:EACCES:权限拒绝,mkdir “/usr/local/lib/node_modules/a

  • 问题内容: 我的package.json文件中有git依赖项。当我在react app文件夹中进行 sudo npm install 时,出现此错误 这是我的package.json package.json中的这一行引起了问题。 “ react-file-base64”:“ git + [https://github.com/lrojas94/react-file- base64.git](ht

  • 我有一个从Ubuntu软件应用程序安装的IntelliJ IDEA Ultimate 2022.1.2。它被配置为使用Maven包装器。当我在java项目上执行“安装”时(从生命周期菜单),我得到两个错误: git测试: 协议测试: maven-wrapper.properties: 同样的项目在不同的机器上运行良好。不能解决问题。

  • 有趣的是,当我尝试它下载的sudo版本时,但是终端中不能识别。 我的节点是10.16。我的净现值是6.9。0 这是文件问题还是我的Mac?