在远程链接文件夹上运行NPM导致EACCES:权限被拒绝

时间:2018-01-11 07:23:34

标签: node.js ubuntu npm npm-install

让我描述一下我的开发。

平台:

我正在使用Mac Sierra Pro和High Sierra。 出于开发目的,我安装了virtualbox并且所有dev. related server apps都在其中(如apache,postgresql,mongodb,nodejs等)。

我在Macbook磁盘上保存文件,而Ubuntu在sshfs上有一个指向该文件夹的符号链接。

Macbook pro上的我的主文件夹:/home/sam/Development

在Ubuntu上有一个指向Macbook Development文件夹的符号链接。同时使用此命令链接到/home/admcomft/public_html的Ubuntu文件夹:/home/sam/Development

  

sshfs -o allow_other -o cache = no -o uid = $(id -u)-o gid = $(id -g)   sam@192.168.56.1:/ Users / sam / Development / public_html /

apache服务器正常处理这种关系。所以我可以在Macbook上使用我的本地环境。但在nodeJS部分,我在尝试安装npm软件包时遇到错误。

CLI团队如何重现问题?

在Ubuntu上我正在运行这个命令:

npm install mongoose

文件夹上的

/home/admcomft/public_html/adMingle_v1.5/_youtube

并且它产生了这个错误:

  

npm ERR!路径/home/admcomft/public_html/adMingle_v1.5/_youtube/node_modules/mquery/node_modules/debug/package.json.813517300   错误的ERR!代码EACCES   错误的ERR! errno -13   错误的ERR!系统调用   错误的ERR!错误:EACCES:权限被拒绝,chown'/home/admcomft/public_html/adMingle_v1.5/_youtube/node_modules/mquery/node_modules/debug/package.json.813517300'   错误的ERR! {错误:EACCES:权限被拒绝,chown'/home/admcomft/public_html/adMingle_v1.5/_youtube/node_modules/mquery/node_modules/debug/package.json.813517300'   错误的ERR!原因:   错误的ERR! {错误:EACCES:权限被拒绝,chown'/home/admcomft/public_html/adMingle_v1.5/_youtube/node_modules/mquery/node_modules/debug/package.json.813517300'   错误的ERR!错误:-13,   错误的ERR!代码:'EACCES',   错误的ERR!系统调用:'chown',   错误的ERR!路径:'/ home / admcomft / public_html / adminMingle_v1.5 / _youtube / node_modules / mquery / node_modules / debug / package.json.813517300'},   错误的ERR! stack:'错误:EACCES:权限被拒绝,chown \'/ home / admcomft / public_html / adMingle_v1.5 / _youtube / node_modules / mquery / node_modules / debug / package.json.813517300 \'',   错误的ERR!错误:-13,   错误的ERR!代码:'EACCES',   错误的ERR!系统调用:'chown',   错误的ERR!路径:'/ home / admcomft / public_html/adMingle_v1.5/_youtube/node_modules/mquery/node_modules/debug/package.json.813517300',   错误的ERR!父母:'mquery'}   错误的ERR!   错误的ERR!请尝试以root / Administrator方式再次运行此命令。

即使我使用sudo运行它,也没有任何变化。

但是我可以使用-g参数运行它,但在全局安装后,我的nodeapp仍然无法识别npm模块,仍然说

  

错误:找不到模块'mongoose'

支持信息:

  • npm -v打印:5.6.0
  • node -v print:v8.2.1
  • npm config get registry打印:https://registry.npmjs.org/
  • Windows,OS X / macOS或Linux ?:使用Ubuntu的OS X(虚拟机上的Ubuntu)

有什么想法吗?

0 个答案:

没有答案