环境说明

ganiks@ganiks-ubuntu-trusty-64:/ganiks/parse-server$ npm -v
6.5.0
ganiks@ganiks-ubuntu-trusty-64:/ganiks/parse-server$ node -v
v10.15.0

问题描述

安装部署 ParseServer服务

ganiks@ganiks-ubuntu-trusty-64:/ganiks/parse-server$ npm install -g mongodb-runner parse-server
[..................] / rollbackFailedOptional: verb npm-session d714a710a2e0bbbc
[..................] / rollbackFailedOptional: verb npm-session d714a710a2e0bbbc
[..................] \ rollbackFailedOptional: verb npm-session d714a710a2e0bbbc
[..................] \ rollbackFailedOptional: verb npm-session d714a710a2e0bbbc
[..................] \ rollbackFailedOptional: verb npm-session d714a710a2e0bbbc
npm WARN deprecated uws@10.148.1: stop using this version
npm ERR! path ../lib/node_modules/mongodb-runner/bin/mongodb-runner.js
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall symlink
npm ERR! Error: EACCES: permission denied, symlink '../lib/node_modules/mongodb-runner/bin/mongodb-runner.js' -> '/usr/local/bin/mongodb-runner'
npm ERR! { [Error: EACCES: permission denied, symlink '../lib/node_modules/mongodb-runner/bin/mongodb-runner.js' -> '/usr/local/bin/mongodb-runner']

这个错误以前遇到过,关键词 symlink permission,意思是没有创建超链接的权限;

我今天这种环境经常遇到这种问题(Windows宿主机器+Vagrant Ubuntu Host机器)

解决方案

给 npm install 添加参数 --no-bin-links

ganiks@ganiks-ubuntu-trusty-64:/ganiks/parse-server$ npm install -g mongodb-runner parse-server --no-bin-links

+ mongodb-runner@4.7.1
+ parse-server@3.1.3
added 563 packages from 403 contributors in 28.79s ganiks@ganiks-ubuntu-trusty-64:/ganiks/parse-server$ ls /usr/local/lib/node_modules/ -l
total 12
drwxrwxr-x 6 ganiks ganiks 4096 Jan 17 10:23 mongodb-runner
drwxr-xr-x 10 root root 4096 Jan 17 08:51 npm
drwxrwxr-x 7 ganiks ganiks 4096 Jan 17 10:23 parse-server

参考资料

https://stackoverflow.com/questions/39098812/npm-install-when-to-use-no-bin-links

One scenario that I can think of is working with a virtual machine (i.e. vagrant w/ virtual box or VMware) on windows host.
You can't translate symlinks to a synchronized folder on Windows share, so you will need this option to go around it.

Use it for any filesystem that doesn’t support symbolic links.

简言之,所有不支持软链接的磁盘系统都需要用到这个 --no-bin-links

Error: EACCES: permission denied, symlink的更多相关文章

  1. mac上安装webpack报错解决方法Hit error EACCES: permission denied, mkdir '/usr/local/lib/node_modules/webpack

    node-pre-gyp WARN Using needle for node-pre-gyp https download node-pre-gyp WARN Pre-built binaries ...

  2. Error: EACCES: permission denied, mkdir '......node-sass/build'错误解决方案

    安装node-sass时出现一下错误: gyp ERR! configure error gyp ERR! stack Error: EACCES: permission denied, mkdir ...

  3. npm install Error: EACCES: permission denied, mkdir

    今天研究Electron的时候,全局安装运行 npm install electron -g时侯,报下面的错误: Error: EACCES: permission denied, mkdir '/U ...

  4. npm install 报错,提示`gyp ERR! stack Error: EACCES: permission denied` 解决方法

    m install 报错,提示gyp ERR! stack Error: EACCES: permission denied 猜测可能是因为没有权限读写,ls -la看下文件权限设置情况 [root@ ...

  5. npm安装报错:Error: EACCES: permission denied

    报错如下: sudo npm i webpack -g /Users/xesfe/.npm-global/bin/webpack -> /Users/xesfe/.npm-global/lib/ ...

  6. appium----【已解决】【Mac】安装sudo npm install -g appium-doctor总是提示“Error: EACCES: permission denied........”

    [mac电脑] 问题: (1)npm install -g appium-doctor    (2)sudo npm install -g appium-doctor (3)cnpm install ...

  7. Error: EACCES: permission denied, access '/usr/local/lib/node_modules'

    sudo chown -R username /usr/local/lib/node_modules 注:username要具有/usr/local/lib/node_modules的读写权限

  8. Error: EACCES: permission denied, mkdir '/root/.nvm/versions/node/......

    当我执行npm install -g node-inspector的时候报错. 所以就去网上搜索了一下答案. 有这么几种答案.请看完再执行相关命令 有说需要在前面加上sudo命令的. 不能解决我出现的 ...

  9. Error: EACCES: permission denied, mkdir

    今天在全局安装飞冰的时候,出现标题的错误 想到是权限不够的问题,其实飞冰官网也有解决的办法,就是更改npm的默认路径.我之前就是用了更改默认路径的方法,然后后来又恢复了默认路径,所以还是用默认路径加权 ...

随机推荐

  1. Razor语法(一)

    语法名称    Razor 语法 Web Forms 等效语法 代码块 @{ int x = 123; string y ="because."; } <% int x = ...

  2. vue组件属性中字符串如何拼接变量?

    不得不说,对于水平只有jquery的vue初学者来说,vue的图片加载实现确实挺坑的,在文档中也没有看到说明.经过百度之后终于知道了什么情况. 首先: 这样是没问题的: <img src=&qu ...

  3. java 过滤器补充

    多个Filter按照在配置文件中配置的filter顺序执行. 在web.xml文件中配置该Filter,使用init-param元素为该Filter配置参数,init-param可接受如下两个子元素: ...

  4. 【ACM】最小公倍数

    http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=2&sectionid=1&problemid=1 #inclu ...

  5. unicode 编码在线转换工具

    字符串 unideo的16进制值  

  6. C/C++内存管理

    1. 静态内存 静态内存是指在程序开始运行时由编译器分配的内存,它的分配是在程序开始编译时完成的,不占用CPU资源.程序中的各种变量,在编译时系统已经为其分配了所需的内存空间,当该变量在作用域内使用完 ...

  7. 解决tomcat提交的数据乱码的问题

    有时,开发过程中会遇到前端传入“中文”并返回时,会出现乱码!主要是因为前端通过tomcat7提交的数据就出现了乱码的问题,也就说根源在于tomcat7. 有2中方案解决该问题: (1)使用tomcat ...

  8. Ubuntu 下的webservices

    搞 了一下午: 开发server程序.需使用gSOAP生成server端代码框架. 我们有两种做法: 编写WSDL,使用wsdl2h生成头文件,再soapcpp2生成框架代码. 编写头文件.使用soa ...

  9. array_intersect_assoc用法详解

    最近在做考试系统,想到这个数组函数,用法如下: <?php $a1=array('a','b','d','c','d','b','c','a'); $a2=array('b','d','d',' ...

  10. Unity UI代码自动生成

    最近在做新项目跟同事讨论UI制作方案, 这里就说下根据节点来生成UI代码,  这个工具可以根据预设生成一个分布类.目前组件还不是很完善, 自己使用需要修改部分代码 组件功能如下: 1. 自动设置引用 ...