无法通过npm下载@ angular-devkit / build-angular(nodeSassConfig)

时间:2018-06-08 16:54:24

标签: angular npm-install node-sass angular-cli-v6

我添加了" @ angular-devkit / build-angular"作为devDependency,现在当我尝试运行npm时,我得到错误,例如" yp动词which失败错误:未找到:python2"。那是因为它试图下载"

  

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

"因为我们在防火墙后面,它失败了。

我偶然发现了#34; https://github.com/sass/node-sass/issues/1106"这表明如果我有" nodeSassConfig"在我的package.config中指向本地下载的win32-x64-57_binding.node版本,它不会转到github并尝试使用本地版本。

"nodeSassConfig": {
    "binaryPath": "/test-sass/binding.node/win32-x64-57_binding.node"
  },

即使指定了值,npm仍然会尝试访问 win32-x64-57_binding.node 的github。

所以,我决定运行一个预安装脚本来设置" SASS_BINARY_PATH"环境变量,但出于某种原因" SASS_BINARY_PATH"需要完整的路径而不是相对路径。

请注意,当我设置" SASS_BINARY_PATH"时,我在命令提示符下工作。绝对路径为win32-x64-57_binding.node。

我使用的是Node v 8.2.11和npm 5.6.0

1 个答案:

答案 0 :(得分:0)

我设法通过在package.config / script中指定预安装任务来解决这个问题。

在Windows上: -

scripts {
"preinstall": "SET SASS_BINARY_PATH=%cd%/test-sass/binding.node/win32-x64-57_binding.node&& npm install node-sass"
}

请注意,我必须添加%cd%才能生成完整路径,因为SASS_BINARY_PATH需要绝对路径。