首页 > webfront > ECMAS > nodejs > > 正文

nodejs npm安装本地node-sass失败,ruby gem 安装sass失败总结

发布人:zhoulujun@live.cn    点击:

node-sass 安装比较困难的问题, 觉得这完全是运维方便自己挖的坑。为什么不开发岗权限做特别限制,而采用一刀切。反正我是在p厂直接给折磨的跪了 第二是提高开发人员的安全水平……反正就是堵死你

更新——

今天发现了这个方法比之前写的安装node-sass 简单:

set SASS_BINARY_PATH=D:/WorkCode/win32-x64-57_binding.node  //PATH=后面是的下载的.node所在的路径

设置SASS_BINARY_PATH环境变量,目的是告诉程序直接使用本地的.node文件,无需从网上下载

https://github.com/sass/node-sass/releases/download/v4.11.0/win32-x64-57_binding.node

发现安装成功。

原文:《解决node-sass偶尔安装失败的方法

——————————————

到新公司后,内外特别坑爹,npm gem 时时想砸电脑

比如node-sass安装,就欲哭无泪,

换cnpm ,完全不能cnpm操作, 替换gem npm 源地址,不给访问权限,搞毛!而且不知道那个网站被墙。在我朝GFW的威力下,再进一步被墙!

抱怨归抱怨,活还是要干!

所以,智能本地安装

在,https://www.npmjs.com/package/node-sass 本地安装包,难找

给一个 国内的源地址:

https://npm.taobao.org/mirrors/node-sass/v4.9.4/

怎么找?

首先到npm.taobao.org 搜索 node-sass,

进入 node-sass页面, 在找到 releases page

找找到相应版本相应平台的 安装包

怎么找?

PS D:\work\h5-react>  npm install node-sass -g

----------------------------------------------------

Cannot download "https://github.com/sass/node-sass/releases/download/v4.11.0/win32-x64-57_binding.node":

下载到本地文件,然后

npm install –sass-binary-path="文件路径”

比如:

npm i node-sass --sass_binary_path=D:\work\win32-x64-57_binding.node



安装好了是不?对……目录下面有,但是

运行试一下:


Module build failed (from ./node_modules/sass-loader/lib/loader.js):

Error: ENOENT: no such file or directory, scandir 'D:\www\webpack4-demo\node_modules\node-sass\vendor'

    at Object.fs.readdirSync (fs.js:904:18)


麻蛋,坑爹啊……&

然后网上搜一下,需要rebuild,

然后运行npm rebuild node-sass


gyp verb created nodedir D:\Users\zlj\.node-gyp\8.9.1

gyp http GET https://nodejs.org/download/release/v8.9.1/node-v8.9.1-headers.tar.gz

gyp WARN install got an error, rolling back install

gyp verb command remove [ '8.9.1' ]

gyp verb remove using node-gyp dir: D:\Users\zlj\.node-gyp

gyp verb remove removing target version: 8.9.1

无论是npm install node-sass 还是npm rebuild node-sass,都是报一大堆这种错误


继续找资料,说安装windows-build-tools,然后

npm install --global windows-build-tools

Downloading Visual Studio Build Tools failed. Error: { Error: connect ETIMEDOUT 113.207.2.86:443

    at Object._errnoException (util.js:1024:11)

    at _exceptionWithHostPort (util.js:1046:20)

    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1182:14)

  code: 'ETIMEDOUT',

  errno: 'ETIMEDOUT',

需要注意一点,由于权限这个命令必须要在管理员运行的cmd命令窗口内

尼玛,折磨的欲仙欲死,最后还是

最终 解决的办法总结:

set SASS_BINARY_PATH=D:\www\vue2-project\win32-x64-57_binding.node   

//PATH=后面是的下载的.node所在的路径

npm i node-sass -D --verbose  || npm i node-sass -g --verbose 全局安装,下项目避免再次如此操作

安装不成功,在\node_modules 新建\node-sass 目录 把win32-x64-57_binding.node 拷入此文件夹



——————我想安装yo,按照这个步骤不行,应该是系统权限,yo至少要添加到环境变量。放弃折腾


ruby 我参考相关方法,搜相关的gem 包,gem install -local  

同样被折磨的欲仙欲死……


set SASS_BINARY_PATH=.......win32-x64-57_binding.node   //PATH=后面是的下载的.node所在的路径

npm i node-sass -D --verbose


安装不成功,在\node_modules 新建\node-sass 目录 4.11 把win32-x64-57_binding.node 拷如

还是成功的