问题描述:liunx内网服务器,无法下载外网资源包,对node-sass 依赖的二进制文件从github无法下载
解决方式:
- 将设置仓库镜像
// 永久使用
npm config set registry http://xx.xx.xx.xx:xxxx/repository/npm-all/
设置完成之后执行
npm install
报错如下:
Unable to save binary /home/jenkins/workspace/wxsbank-supplychain-manager/node_modules/node-sass/vendor/linux-x64-72 : Error: EACCES: permission denied, mkdir '/home/jenkins/workspace/wxsbank-supplychain-manager/node_modules/node-sass/vendor
问题原因:权限不足;
解决办法:
sudo npm install
提示:
usr/bin/env: "node": 没有那个文件或目录
node安装在用户目录下,不是root 用户安装
看下node 安装地址
$ whereis node
# node: /home/xxx/node/node-v12.9.1-linux-x64/bin/node
// 建立目标文件和源文件链接
$ sudo ln -s /home/xxx/node/node-v12.9.1-linux-x64/bin/node /usr/bin/node
在https://github.com/sass/node-sass/releases中找到对应版本对应系统的binding.node文件,(例如:linux-x64-72_binding.node),下载放到上传到服务器上,执行install:
sudo npm install node-sass --sass_binary_path=/home/xxx/workspace/linux-x64-72_binding.node
下载完成依赖,如果node_modules/node-sass目录下没有找到对应的 vendor目录,
- 创建目录
$ mkdir -p vendor/linux-x64-72
- 将linux-x64-72_binding.node移动到 node_modules/node-sass/vendor/linux-x64-72目录,并重命名为binding.node
完成
网友评论