我有问题构建一个应用程序,因为node-sass不断失败的错误。

binding /Users/warren/Sites/random-docs/my-cms/node_modules/node-sass/vendor/darwin-x64-11/binding.node出错 Node Sass无法找到当前环境的绑定:OS X 64位的Node 0.10.x

我试过跑步

npm rebuild node-sass

二进制很好;退出。

当运行node -v时,我得到v6.2.2

这与sass错误说的“Node 0.10.x”不同。我不明白为什么它会得到错误的版本。我也尝试删除node_modules文件夹并运行npm update或npm install,这两者都没有解决问题。什么好主意吗?


当前回答

除了Abdelsalam Megahed的简短回答,其中包含了大部分解决方案……(也就是说,先看他的答案,然后做这件事)

在遵循Abdelsalam建议的四个简短步骤之后,我运行npm run dev并收到以下消息:

Failed to load C:\path\tsconfig.json: Missing baseUrl in compilerOptions

最后一步是编辑tsconfig。在"compilerOptions":下添加"baseURL": ".",像这样:

"compilerOptions": {
    "baseUrl": ".",
    etc etc etc

问题到这里就解决了。

注意:可能需要硬重置CtrlF5页面来查看更改(即使没有恶魔)。

其他回答

Open Visual Studio 2017 进入工具->选项… 进入项目和解决方案-> Web包管理 移动$(PATH)到列表的顶部并关闭该窗口。 重新启动Visual Studio。 这在我的例子中是可行的,因为我的节点版本是11.x

我通过将JAVA_HOME从x86更改为x64来解决这个问题。Maven在x86上运行,但node使用x64。删除/node和/node_modules并重新构建。

在我的例子中,我在package-lock中发现了node-sass版本。Json与package.json中的node-sass版本不同。这一步解决了我的问题。

删除文件夹node-modules 删除package-lock.json 安装python 2.7 将C:/Python27;C:/Python27/Scripts添加到环境变量->路径 在Powershell中,以管理员身份执行-> npm install -g node-gyp 在我的工作文件夹-> NPM安装

希望这也适用于你

Docker相关的答案在这里*

回答如果你看到这个问题,或类似的东西,并正在使用Docker。

原因:当将当前文件结构复制到Docker容器内部时,你可能会将节点模块从一个OS系统复制到另一个OS系统(例如,从Mac到Linux容器)。

解决方案:

添加一个.dockerignore,然后在里面添加:

node_modules

这将导致npm install为docker环境而不是本地机器环境安装绑定。

您可能有一个与当前版本不同的节点版本构建。尝试运行这些命令,应该可以解决问题。

npm cache clean --force &&  
rm -rf node_modules &&  
rm -rf package-lock.json &&  
npm i