如何告诉 node-gyp / node-sass 我已经有了我的 node-headers?
How to tell node-gyp / node-sass that I already have my node-headers?
我目前在不允许我执行此命令的 HTTP GET 请求阶段的代理后面工作:
node node-sass/scripts/build.js
请求阶段:
gyp http GET https://nodejs.org/download/release/v10.8.0/node-v10.8.0-headers.tar.gz
gyp WARN install got an error, rolling back install
如前所述,我在本地下载了那些 headers(尤其是 mentioned-in-the-log 压缩包)。我如何告诉 node-sass 我在本地有我的文件?我试着直接查看 build.js
,但我无法做到我想做的;这可能超出了我的水平。
好的,所以我设法做到了。我只需要解压 tarball,并在我的 .yarnrc 中将 nodedir
配置指向解压创建的文件夹。
所以:
tar -xzvf your_headers_package
yarn config set nodedir your_headers_folder
这对我有用。我觉得……现在很蠢。
对于那些试图在无法访问互联网的情况下设置 node-gyp 的人:
- 获取节点 headers 文件:
curl -O https://nodejs.org/dist/v14.17.3/node-v14.17.3-headers.tar.gz
(确保你有合适的正确节点版本,并且你需要一台联网的机器)
- 复制headertar球到离线机器(方法可能因您的情况而异,例如winscp到vm)
- 创建库查找的 node-gyp 文件夹(如果尚不存在):
mkdir -p ~/.cache/node-gyp/14.17.3
(陷阱:在某些版本中 node-gyp文件夹在 ~/.node-gyp
) 下
- tar 文件到 node-gyp 文件夹:
tar -xf node-v14.17.3-headers.tar.gz --directory ~/.cache/.node-gyp/6.10.1/ --strip-components 1
(确保你在这里有正确的版本)
- 手动创建
installVersion
:echo 9 >~/.node-gyp/6.10.1/installVersion
(如果您可以上网,通常会自动创建)
我目前在不允许我执行此命令的 HTTP GET 请求阶段的代理后面工作:
node node-sass/scripts/build.js
请求阶段:
gyp http GET https://nodejs.org/download/release/v10.8.0/node-v10.8.0-headers.tar.gz gyp WARN install got an error, rolling back install
如前所述,我在本地下载了那些 headers(尤其是 mentioned-in-the-log 压缩包)。我如何告诉 node-sass 我在本地有我的文件?我试着直接查看 build.js
,但我无法做到我想做的;这可能超出了我的水平。
好的,所以我设法做到了。我只需要解压 tarball,并在我的 .yarnrc 中将 nodedir
配置指向解压创建的文件夹。
所以:
tar -xzvf your_headers_package yarn config set nodedir your_headers_folder
这对我有用。我觉得……现在很蠢。
对于那些试图在无法访问互联网的情况下设置 node-gyp 的人:
- 获取节点 headers 文件:
curl -O https://nodejs.org/dist/v14.17.3/node-v14.17.3-headers.tar.gz
(确保你有合适的正确节点版本,并且你需要一台联网的机器) - 复制headertar球到离线机器(方法可能因您的情况而异,例如winscp到vm)
- 创建库查找的 node-gyp 文件夹(如果尚不存在):
mkdir -p ~/.cache/node-gyp/14.17.3
(陷阱:在某些版本中 node-gyp文件夹在~/.node-gyp
) 下
- tar 文件到 node-gyp 文件夹:
tar -xf node-v14.17.3-headers.tar.gz --directory ~/.cache/.node-gyp/6.10.1/ --strip-components 1
(确保你在这里有正确的版本) - 手动创建
installVersion
:echo 9 >~/.node-gyp/6.10.1/installVersion
(如果您可以上网,通常会自动创建)