Npm install 在每次安装时重建 .node-gyp
Npm install rebuilds .node-gyp upon every install
我在每个 npm install
:
收到这条消息
> fsevents@1.2.4 install /Users/USERNAME/URL/TO/GULP/FILE/node_modules/fsevents
> node install
[fsevents] Success: "/Users/USERNAME/URL/TO/GULP/FILE/node_modules/fsevents/lib/binding/Release/node-v57-darwin-x64/fse.node" already installed
Pass --update-binary to reinstall or --build-from-source to recompile
> node-sass@3.13.1 install /Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-sass
> node scripts/install.js
Downloading binary from https://github.com/sass/node-sass/releases/download/v3.13.1/darwin-x64-57_binding.node
Cannot download "https://github.com/sass/node-sass/releases/download/v3.13.1/darwin-x64-57_binding.node":
HTTP error 404 Not Found
Hint: If github.com is not accessible in your location
try setting a proxy via HTTP_PROXY, e.g.
export HTTP_PROXY=http://example.com:1234
or configure npm proxy via
npm config set proxy http://example.com:8080
> node-sass@3.13.1 postinstall /Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-sass
> node scripts/build.js
Building: /usr/local/bin/node /Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [ '/usr/local/bin/node',
gyp verb cli '/Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-gyp/bin/node-gyp.js',
gyp verb cli 'rebuild',
gyp verb cli '--verbose',
gyp verb cli '--libsass_ext=',
gyp verb cli '--libsass_cflags=',
gyp verb cli '--libsass_ldflags=',
gyp verb cli '--libsass_library=' ]
gyp info using node-gyp@3.7.0
gyp info using node@8.11.1 | darwin | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` failed Error: not found: python2
gyp verb `which` failed at getNotFoundError (/Users/USERNAME/URL/TO/GULP/FILE/node_modules/which/which.js:13:12)
gyp verb `which` failed at F (/Users/USERNAME/URL/TO/GULP/FILE/node_modules/which/which.js:68:19)
gyp verb `which` failed at E (/Users/USERNAME/URL/TO/GULP/FILE/node_modules/which/which.js:80:29)
gyp verb `which` failed at /Users/USERNAME/URL/TO/GULP/FILE/node_modules/which/which.js:89:16
gyp verb `which` failed at /Users/USERNAME/URL/TO/GULP/FILE/node_modules/isexe/index.js:42:5
gyp verb `which` failed at /Users/USERNAME/URL/TO/GULP/FILE/node_modules/isexe/mode.js:8:5
gyp verb `which` failed at FSReqWrap.oncomplete (fs.js:152:21)
gyp verb `which` failed python2 { Error: not found: python2
gyp verb `which` failed at getNotFoundError (/Users/USERNAME/URL/TO/GULP/FILE/node_modules/which/which.js:13:12)
gyp verb `which` failed at F (/Users/USERNAME/URL/TO/GULP/FILE/node_modules/which/which.js:68:19)
gyp verb `which` failed at E (/Users/USERNAME/URL/TO/GULP/FILE/node_modules/which/which.js:80:29)
gyp verb `which` failed at /Users/USERNAME/URL/TO/GULP/FILE/node_modules/which/which.js:89:16
gyp verb `which` failed at /Users/USERNAME/URL/TO/GULP/FILE/node_modules/isexe/index.js:42:5
gyp verb `which` failed at /Users/USERNAME/URL/TO/GULP/FILE/node_modules/isexe/mode.js:8:5
gyp verb `which` failed at FSReqWrap.oncomplete (fs.js:152:21)
gyp verb `which` failed stack: 'Error: not found: python2\n at getNotFoundError (/Users/USERNAME/URL/TO/GULP/FILE/node_modules/which/which.js:13:12)\n at F (/Users/USERNAME/URL/TO/GULP/FILE/node_modules/which/which.js:68:19)\n at E (/Users/USERNAME/URL/TO/GULP/FILE/node_modules/ which/which.js:80:29)\n at /Users/USERNAME/URL/TO/GULP/FILE/node_modules/which/which.js:89:16\n at /Users/USERNAME/URL/TO/GULP/FILE/node_modules/isexe/index.js:42:5\n at /Users/USERNAME/URL/TO/GULP/FILE/node_modules/isexe/mode.js:8:5\n at FSReqWrap.oncomplete (fs.js:152:21)',
gyp verb `which` failed code: 'ENOENT' }
gyp verb check python checking for Python executable "python" in the PATH
gyp verb `which` succeeded python /usr/bin/python
gyp verb check python version `/usr/bin/python -c "import platform; print(platform.python_version());"` returned: "2.7.10\n"
gyp verb get node dir no --target version specified, falling back to host node version: 8.11.1
gyp verb command install [ '8.11.1' ]
gyp verb install input version string "8.11.1"
gyp verb install installing version: 8.11.1
gyp verb install --ensure was passed, so won't reinstall if already installed
gyp verb install version is already installed, need to check "installVersion"
gyp verb got "installVersion" 9
gyp verb needs "installVersion" 9
gyp verb install version is good
gyp verb get node dir target node version installed: 8.11.1
gyp verb build dir attempting to create "build" dir: /Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-sass/build
gyp verb build dir "build" dir needed to be created? /Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-sass/build
gyp verb build/config.gypi creating config file
gyp verb build/config.gypi writing out config file: /Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-sass/build/config.gypi
gyp verb config.gypi checking for gypi file: /Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-sass/config.gypi
gyp verb common.gypi checking for gypi file: /Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-sass/common.gypi
gyp verb gyp gyp format was not specified; forcing "make"
gyp info spawn /usr/bin/python
gyp info spawn args [ '/Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'make',
gyp info spawn args '-I',
gyp info spawn args '/Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-sass/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/Users/USERNAME/.node-gyp/8.11.1/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/Users/USERNAME/.node-gyp/8.11.1',
gyp info spawn args '-Dnode_gyp_dir=/Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/Users/USERNAME/.node-gyp/8.11.1/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-sass',
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'build',
gyp info spawn args '-Goutput_dir=.' ]
gyp verb command build []
gyp verb build type Release
gyp verb architecture x64
gyp verb node dev dir /Users/USERNAME/.node-gyp/8.11.1
gyp verb `which` succeeded for `make` /usr/bin/make
gyp info spawn make
gyp info spawn args [ 'V=1', 'BUILDTYPE=Release', '-C', 'build' ]
c++ '-DNODE_GYP_MODULE_NAME=libsass' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DLIBSASS_VERSION="3.3.6"' -I/Users/USERNAME/.node-gyp/8.11.1/include/node -I/Users/ USERNAME/.node-gyp/8.11.1/src -I/Users/USERNAME/.node-gyp/8.11.1/deps/openssl/config -I/Users/USERNAME/.node-gyp/8.11.1/deps/openssl/openssl/include -I/Users/USERNAME/.node-gyp/8.11.1/deps/uv/include -I/Users/USERNAME/.node-gyp/8.11.1/deps/zlib -I/Users/USERNAME/.node-gyp/8.11.1/deps/ v8/include -I../src/libsass/include -Os -gdwarf-2 -mmacosx-version-min=10.7 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=c++11 -stdlib=libc++ -fno-threadsafe-statics -fno-strict-aliasing -MMD -MF ./Release/.deps/Release/obj.target/libsass/src/libsass/src/ast.o.d.raw -c -o Release/obj.target/libsass/src/libsass/src/ast.o ../src/libsass/src/ast.cpp
^Cmake: *** Deleting file `Release/obj.target/libsass/src/libsass/src/ast.o'
make: *** [Release/obj.target/libsass/src/libsass/src/ast.o] Interrupt: 2
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN GulpFileName@1.0.0 No description
npm WARN GulpFileName@1.0.0 No repository field.
我的全局安装包(npm -g ls --depth=0
)是这些:
/usr/local/lib
├── fsevents@1.2.4
├── gulp@3.9.1
├── gulp-cli@2.0.1
├── jscs@3.0.7
├── n@2.1.8
├── node-gyp@3.7.0
├── node-sass@4.9.0
├── npm@5.10.0
└── vue-cli@2.9.3
当我 运行 npm install
使用此 package.json
-file:
时出现错误
{
"name": "GulpName",
"author": "Johnny Bravo",
"version": "1.0.0",
"license": "GPL-2.0",
"dependencies": {},
"devDependencies": {
"autoprefixer": "^8.6.3",
"browserslist": "^3.2.8",
"gulp": "^4.0.0",
"gulp-concat": "^2.6.1",
"gulp-postcss": "^7.0.1",
"gulp-sass": "^2.0.0",
"gulp-clean-css": "^3.9.4",
"gulp-uglify": "^3.0.0"
},
"browserslist": [
"last 2 version",
"> 1%",
"safari >= 5",
"ie >= 8",
"chrome >= 34",
"ie_mob >= 10",
"opera >= 23",
"ios >= 7",
"ff >= 7",
"android >= 4",
"bb >= 10"
]
}
我的尝试:
- 我尝试删除
~/.node-gyp
(然后用 npm cache verify
刷新缓存)。
- 我尝试卸载我在
npm -g ls --depth=0
中看到的所有 'random' 软件包。我有一些 phantomjs
和一个 http-server
或类似的东西。
- 我尝试全局安装
node-gyp
、fsevents
和 node-sass
,希望我不应该在安装过程中执行这些步骤。但我仍然得到同样长的错误。
...显然,在我尝试解决这个问题的过程中,我做了无数次 rm -rf node_modules package-lock.json
,然后是 npm install
。
我可以看到 several places,有些人会遇到类似的错误,这是由于一些毛病。我没有用过任何这样的东西。
我真的每次安装都要忍受这个冗长乏味的过程吗 运行 npm install
.
好的...我认为大部分都是我们自己的。问题是 node-sass
的版本 "~2.0.0"
太旧了。当我将其提高到 "4.0.1"
时,node-gyp
的重新编译就消失了。
不过,这是我的过程 - 对于想自己尝试一些东西的菜鸟:
请记住,您有本地包(在 package.json
中)和全局包(通过写入访问:npm -g ls --depth=0
。
您可以按照 this answer.
删除所有全局包
然后一次删除你的 devDependencies,并尝试 运行 npm install
直到愚蠢的错误消失。
我仍然遇到这个错误(我不会解决这个问题,因为我将 npm install
时间减少了一分钟左右,这对我来说已经足够了)。
> fsevents@1.2.4 install /PATH/TO/PACKAGEJSON-FILE/node_modules/fsevents
> node install
[fsevents] Success: "/PATH/TO/PACKAGEJSON-FILE/node_modules/fsevents/lib/binding/Release/node-v57-darwin-x64/fse.node" already installed
Pass --update-binary to reinstall or --build-from-source to recompile
> node-sass@4.9.0 install /PATH/TO/PACKAGEJSON-FILE/node_modules/node-sass
> node scripts/install.js
Cached binary found at /Users/REDACTED/.npm/node-sass/4.9.0/darwin-x64-57_binding.node
> node-sass@4.9.0 postinstall /PATH/TO/PACKAGEJSON-FILE/node_modules/node-sass
> node scripts/build.js
Binary found at /PATH/TO/PACKAGEJSON-FILE/node_modules/node-sass/vendor/darwin-x64-57/binding.node
Testing binary
Binary is fine
我在每个 npm install
:
> fsevents@1.2.4 install /Users/USERNAME/URL/TO/GULP/FILE/node_modules/fsevents
> node install
[fsevents] Success: "/Users/USERNAME/URL/TO/GULP/FILE/node_modules/fsevents/lib/binding/Release/node-v57-darwin-x64/fse.node" already installed
Pass --update-binary to reinstall or --build-from-source to recompile
> node-sass@3.13.1 install /Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-sass
> node scripts/install.js
Downloading binary from https://github.com/sass/node-sass/releases/download/v3.13.1/darwin-x64-57_binding.node
Cannot download "https://github.com/sass/node-sass/releases/download/v3.13.1/darwin-x64-57_binding.node":
HTTP error 404 Not Found
Hint: If github.com is not accessible in your location
try setting a proxy via HTTP_PROXY, e.g.
export HTTP_PROXY=http://example.com:1234
or configure npm proxy via
npm config set proxy http://example.com:8080
> node-sass@3.13.1 postinstall /Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-sass
> node scripts/build.js
Building: /usr/local/bin/node /Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [ '/usr/local/bin/node',
gyp verb cli '/Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-gyp/bin/node-gyp.js',
gyp verb cli 'rebuild',
gyp verb cli '--verbose',
gyp verb cli '--libsass_ext=',
gyp verb cli '--libsass_cflags=',
gyp verb cli '--libsass_ldflags=',
gyp verb cli '--libsass_library=' ]
gyp info using node-gyp@3.7.0
gyp info using node@8.11.1 | darwin | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` failed Error: not found: python2
gyp verb `which` failed at getNotFoundError (/Users/USERNAME/URL/TO/GULP/FILE/node_modules/which/which.js:13:12)
gyp verb `which` failed at F (/Users/USERNAME/URL/TO/GULP/FILE/node_modules/which/which.js:68:19)
gyp verb `which` failed at E (/Users/USERNAME/URL/TO/GULP/FILE/node_modules/which/which.js:80:29)
gyp verb `which` failed at /Users/USERNAME/URL/TO/GULP/FILE/node_modules/which/which.js:89:16
gyp verb `which` failed at /Users/USERNAME/URL/TO/GULP/FILE/node_modules/isexe/index.js:42:5
gyp verb `which` failed at /Users/USERNAME/URL/TO/GULP/FILE/node_modules/isexe/mode.js:8:5
gyp verb `which` failed at FSReqWrap.oncomplete (fs.js:152:21)
gyp verb `which` failed python2 { Error: not found: python2
gyp verb `which` failed at getNotFoundError (/Users/USERNAME/URL/TO/GULP/FILE/node_modules/which/which.js:13:12)
gyp verb `which` failed at F (/Users/USERNAME/URL/TO/GULP/FILE/node_modules/which/which.js:68:19)
gyp verb `which` failed at E (/Users/USERNAME/URL/TO/GULP/FILE/node_modules/which/which.js:80:29)
gyp verb `which` failed at /Users/USERNAME/URL/TO/GULP/FILE/node_modules/which/which.js:89:16
gyp verb `which` failed at /Users/USERNAME/URL/TO/GULP/FILE/node_modules/isexe/index.js:42:5
gyp verb `which` failed at /Users/USERNAME/URL/TO/GULP/FILE/node_modules/isexe/mode.js:8:5
gyp verb `which` failed at FSReqWrap.oncomplete (fs.js:152:21)
gyp verb `which` failed stack: 'Error: not found: python2\n at getNotFoundError (/Users/USERNAME/URL/TO/GULP/FILE/node_modules/which/which.js:13:12)\n at F (/Users/USERNAME/URL/TO/GULP/FILE/node_modules/which/which.js:68:19)\n at E (/Users/USERNAME/URL/TO/GULP/FILE/node_modules/ which/which.js:80:29)\n at /Users/USERNAME/URL/TO/GULP/FILE/node_modules/which/which.js:89:16\n at /Users/USERNAME/URL/TO/GULP/FILE/node_modules/isexe/index.js:42:5\n at /Users/USERNAME/URL/TO/GULP/FILE/node_modules/isexe/mode.js:8:5\n at FSReqWrap.oncomplete (fs.js:152:21)',
gyp verb `which` failed code: 'ENOENT' }
gyp verb check python checking for Python executable "python" in the PATH
gyp verb `which` succeeded python /usr/bin/python
gyp verb check python version `/usr/bin/python -c "import platform; print(platform.python_version());"` returned: "2.7.10\n"
gyp verb get node dir no --target version specified, falling back to host node version: 8.11.1
gyp verb command install [ '8.11.1' ]
gyp verb install input version string "8.11.1"
gyp verb install installing version: 8.11.1
gyp verb install --ensure was passed, so won't reinstall if already installed
gyp verb install version is already installed, need to check "installVersion"
gyp verb got "installVersion" 9
gyp verb needs "installVersion" 9
gyp verb install version is good
gyp verb get node dir target node version installed: 8.11.1
gyp verb build dir attempting to create "build" dir: /Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-sass/build
gyp verb build dir "build" dir needed to be created? /Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-sass/build
gyp verb build/config.gypi creating config file
gyp verb build/config.gypi writing out config file: /Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-sass/build/config.gypi
gyp verb config.gypi checking for gypi file: /Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-sass/config.gypi
gyp verb common.gypi checking for gypi file: /Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-sass/common.gypi
gyp verb gyp gyp format was not specified; forcing "make"
gyp info spawn /usr/bin/python
gyp info spawn args [ '/Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'make',
gyp info spawn args '-I',
gyp info spawn args '/Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-sass/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/Users/USERNAME/.node-gyp/8.11.1/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/Users/USERNAME/.node-gyp/8.11.1',
gyp info spawn args '-Dnode_gyp_dir=/Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/Users/USERNAME/.node-gyp/8.11.1/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/Users/USERNAME/URL/TO/GULP/FILE/node_modules/node-sass',
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'build',
gyp info spawn args '-Goutput_dir=.' ]
gyp verb command build []
gyp verb build type Release
gyp verb architecture x64
gyp verb node dev dir /Users/USERNAME/.node-gyp/8.11.1
gyp verb `which` succeeded for `make` /usr/bin/make
gyp info spawn make
gyp info spawn args [ 'V=1', 'BUILDTYPE=Release', '-C', 'build' ]
c++ '-DNODE_GYP_MODULE_NAME=libsass' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DLIBSASS_VERSION="3.3.6"' -I/Users/USERNAME/.node-gyp/8.11.1/include/node -I/Users/ USERNAME/.node-gyp/8.11.1/src -I/Users/USERNAME/.node-gyp/8.11.1/deps/openssl/config -I/Users/USERNAME/.node-gyp/8.11.1/deps/openssl/openssl/include -I/Users/USERNAME/.node-gyp/8.11.1/deps/uv/include -I/Users/USERNAME/.node-gyp/8.11.1/deps/zlib -I/Users/USERNAME/.node-gyp/8.11.1/deps/ v8/include -I../src/libsass/include -Os -gdwarf-2 -mmacosx-version-min=10.7 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=c++11 -stdlib=libc++ -fno-threadsafe-statics -fno-strict-aliasing -MMD -MF ./Release/.deps/Release/obj.target/libsass/src/libsass/src/ast.o.d.raw -c -o Release/obj.target/libsass/src/libsass/src/ast.o ../src/libsass/src/ast.cpp
^Cmake: *** Deleting file `Release/obj.target/libsass/src/libsass/src/ast.o'
make: *** [Release/obj.target/libsass/src/libsass/src/ast.o] Interrupt: 2
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN GulpFileName@1.0.0 No description
npm WARN GulpFileName@1.0.0 No repository field.
我的全局安装包(npm -g ls --depth=0
)是这些:
/usr/local/lib
├── fsevents@1.2.4
├── gulp@3.9.1
├── gulp-cli@2.0.1
├── jscs@3.0.7
├── n@2.1.8
├── node-gyp@3.7.0
├── node-sass@4.9.0
├── npm@5.10.0
└── vue-cli@2.9.3
当我 运行 npm install
使用此 package.json
-file:
{
"name": "GulpName",
"author": "Johnny Bravo",
"version": "1.0.0",
"license": "GPL-2.0",
"dependencies": {},
"devDependencies": {
"autoprefixer": "^8.6.3",
"browserslist": "^3.2.8",
"gulp": "^4.0.0",
"gulp-concat": "^2.6.1",
"gulp-postcss": "^7.0.1",
"gulp-sass": "^2.0.0",
"gulp-clean-css": "^3.9.4",
"gulp-uglify": "^3.0.0"
},
"browserslist": [
"last 2 version",
"> 1%",
"safari >= 5",
"ie >= 8",
"chrome >= 34",
"ie_mob >= 10",
"opera >= 23",
"ios >= 7",
"ff >= 7",
"android >= 4",
"bb >= 10"
]
}
我的尝试:
- 我尝试删除
~/.node-gyp
(然后用npm cache verify
刷新缓存)。 - 我尝试卸载我在
npm -g ls --depth=0
中看到的所有 'random' 软件包。我有一些phantomjs
和一个http-server
或类似的东西。 - 我尝试全局安装
node-gyp
、fsevents
和node-sass
,希望我不应该在安装过程中执行这些步骤。但我仍然得到同样长的错误。
...显然,在我尝试解决这个问题的过程中,我做了无数次 rm -rf node_modules package-lock.json
,然后是 npm install
。
我可以看到 several places,有些人会遇到类似的错误,这是由于一些毛病。我没有用过任何这样的东西。
我真的每次安装都要忍受这个冗长乏味的过程吗 运行 npm install
.
好的...我认为大部分都是我们自己的。问题是 node-sass
的版本 "~2.0.0"
太旧了。当我将其提高到 "4.0.1"
时,node-gyp
的重新编译就消失了。
不过,这是我的过程 - 对于想自己尝试一些东西的菜鸟:
请记住,您有本地包(在
package.json
中)和全局包(通过写入访问:npm -g ls --depth=0
。您可以按照 this answer.
删除所有全局包
然后一次删除你的 devDependencies,并尝试 运行
npm install
直到愚蠢的错误消失。
我仍然遇到这个错误(我不会解决这个问题,因为我将 npm install
时间减少了一分钟左右,这对我来说已经足够了)。
> fsevents@1.2.4 install /PATH/TO/PACKAGEJSON-FILE/node_modules/fsevents
> node install
[fsevents] Success: "/PATH/TO/PACKAGEJSON-FILE/node_modules/fsevents/lib/binding/Release/node-v57-darwin-x64/fse.node" already installed
Pass --update-binary to reinstall or --build-from-source to recompile
> node-sass@4.9.0 install /PATH/TO/PACKAGEJSON-FILE/node_modules/node-sass
> node scripts/install.js
Cached binary found at /Users/REDACTED/.npm/node-sass/4.9.0/darwin-x64-57_binding.node
> node-sass@4.9.0 postinstall /PATH/TO/PACKAGEJSON-FILE/node_modules/node-sass
> node scripts/build.js
Binary found at /PATH/TO/PACKAGEJSON-FILE/node_modules/node-sass/vendor/darwin-x64-57/binding.node
Testing binary
Binary is fine