如何在 node-sass 工作的情况下使用 yarn install --offline?

Posted

技术标签:

【中文标题】如何在 node-sass 工作的情况下使用 yarn install --offline?【英文标题】:How to get yarn install --offline with node-sass working? 【发布时间】:2018-01-07 12:14:47 【问题描述】:

我正在尝试在离线模式下使用yarn,因为我使用的构建服务器无法访问yarn 注册表或github.com

我发现这个article 是关于如何在离线模式下使用yarn,在我添加node-sass 之前效果很好。

出现即使你使用yarn install --offlinenode-sass也会去github.com下载libsass

有没有办法指示node-sass 使用离线版本的libsass 而不是去github.com

【问题讨论】:

大概和npm一样,你可以提供--sass-binary-site:github.com/sass/node-sass#binary-configuration-parameters 我没有意识到这一点。立即查看。 @jonrsharpe 成功了。不确定我如何回答这个问题? 你可以在下面写一个答案,解释你做了什么来修复它,然后自己接受。 【参考方案1】:

正如@jonrsharpe 指出的那样,您需要使用--sass-binary-site--sass-binary-name--sass-binary-path 来告诉node-sass 在哪里可以找到libsass。就我而言,我最终使用了sass-binary-path

所以我做的第一件事就是下载Windows 版本的libsass here。我下载了_binding.node 版本,因为我认为_binding.pdb 版本是一个调试文件。

我创建了一个.yarnrc,如下所示:

yarn-offline-mirror "////sharedrive//folder"
yarn-offline-mirror-pruning true
sass-binary-path "////sharedrive//folder//win32-ia32-47_binding.node"

对于Windows 版本,所有/ 都需要使用// 进行转义。 sass-binary-path 在最后需要 libsass 二进制文件,在上述情况下为 win32-ia32-47_binding.node

所以一切都很好。

【讨论】:

这也是一种非常有用的方法,可以避免在使用yarnnpm i 时不断重建node-sass 我将重申 Troy 的观点……任何人都知道成功的开发组织需要快速的构建时间。 node-sass 开发人员不应该尝试修改系统库的布局。 yarn 的构建方式似乎迫使生态系统留下诸如此类的工件......脚本在安装阶段从互联网下载任意二进制文件...... apk add --no-cache libsass 是如果您使用基于 alpine 的 Docker 映像作为节点的方法

以上是关于如何在 node-sass 工作的情况下使用 yarn install --offline?的主要内容,如果未能解决你的问题,请参考以下文章

Node-sass 在 watch 模式下创建额外的文件

macOS Catalina 上的 Node-sass 无法正常工作。我应该如何解决这个问题?

安装node-sass正确姿势

node版本与node-sass版本不兼容时问题解决

如何从 node-sass 获取输出到 postcss autoprefixer

如何检查点是否在线下?