我添加了" @ 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
答案 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需要绝对路径。