在MacOS上更新npm和节点后,应用程序停止工作

时间:2018-01-05 20:09:41

标签: javascript node.js npm

所以我犯了一个大错误,就是将npm和node从版本3.10.10和6.10.2分别更新为5.6.0和9.3.0

现在我的应用程序无效,所以我在这里非常绝望。当我尝试运行它时,我收到以下错误:

  

/Users/me/Workspace/MyApp/node_modules/node-sass/lib/binding.js:13         抛出新错误(errors.unsupportedEnvironment());         ^

     

错误:Node Sass尚不支持您当前的环境:OS X 64位,运行时不受支持(59)

     

有关支持哪些环境的详细信息,请参阅:   https://github.com/sass/node-sass/releases/tag/v4.5.3

我已查找错误并且找不到太多内容,除了删除node_modules文件夹并执行npm install。两者都不奏效。现在这给了我以下错误:

  

node-pre-gyp ERR!试图下载(403):https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.8/node-v59-darwin-x64.tar.gz

     

node-pre-gyp ERR!未找到sqlite3@3.1.8和node@9.3.0(node-v59 ABI)的预构建二进制文件(使用node-gyp回退到源代码编译)

     

ACTION deps_sqlite3_gyp_action_before_build_target_unpack_sqlite_dep发布/ obj / gen / sqlite-autoconf-3150000 / sqlite3.c

     

TOUCH Release / obj.target / deps / action_before_build.stamp     CC(目标)发布/ obj.target / sqlite3 / gen / sqlite-autoconf-3150000 / sqlite3.o

我不知道从哪里开始,但我没有绝望。到底是怎么回事?有什么我可以做的,或者我应该反转到以前版本的节点和npm?

1 个答案:

答案 0 :(得分:1)

你需要运行npm rebuild,因为Node-sass使用C ++插件和那个命令

  

在匹配的文件夹上运行npm build命令。这在安装新版本的节点时很有用,并且必须使用新的二进制文件重新编译所有C ++插件。

也许没有理由不更新node-sass to the current release 4.7.2

查看另一个名为ncu的便捷软件包,它可以帮助您批量升级package.json。不要粗心地,你可能会产生不稳定性,但如果你有少量指定的依赖项,它就是一个方便的开始。