无法安装 gulp-sass

Posted

技术标签:

【中文标题】无法安装 gulp-sass【英文标题】:Cannot Install gulp-sass 【发布时间】:2015-10-12 23:03:48 【问题描述】:

我正在尝试学习如何在 Nodejs 中使用 gulp/sass/ 以及所有其他有趣的工具,但我在安装 gulp-sass 时遇到了问题。我用来安装所有东西的过程是:

1.  Start Git Bash in the project folder
2.  npm init
3.  npm install gulp -g
4.  npm install gulp --save-dev
5.  npm install gulp-sass <- this is where I get errors

进入第五步后,出现以下错误:

$ npm install gulp-sass
npm WARN package.json project@1.0.0 No repository field.
npm WARN package.json project@1.0.0 No README data
-
> node-sass@3.2.0 install     \\primary\home\mendsley\profile\Desktop\project\node_modules\gulp-  sass\node_modules\node-sass
> node scripts/install.js

'\\primary\home\mendsley\profile\Desktop\project\node_modules\gulp-   sass\node_modules\node-sass'
CMD.EXE was started with the above path as the current directory.
UNC paths are not supported.  Defaulting to Windows directory.
module.js:338
throw err;
      ^
Error: Cannot find module 'C:\Windows\scripts\install.js'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Function.Module.runMain (module.js:501:10)
at startup (node.js:129:16)
at node.js:814:3
npm ERR! Windows_NT 6.1.7601
npm ERR! argv "c:\\Program Files\\nodejs\\node.exe"     "c:\\Users\\mendsley\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js"     "install" "gulp-sass"
npm ERR! node v0.12.1
npm ERR! npm  v2.13.1
npm ERR! code ELIFECYCLE

npm ERR! node-sass@3.2.0 install: `node scripts/install.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-sass@3.2.0 install script 'node scripts/install.js'.
npm ERR! This is most likely a problem with the node-sass package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node scripts/install.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls node-sass
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     \\primary\home\mendsley\profile\Desktop\project\npm-debug.log

我正在我的工作计算机上尝试这个,所以我不确定这是否重要。系统管理员说不应该有任何问题,其他人对相同的包没有问题......并且与他们交谈,他们没有提供任何帮助。我在我的个人笔记本电脑上尝试了所有东西,gulp-sass 安装得很好,所以它与我的工作电脑有关。

我最初的想法是路径问题,但是为什么其他包安装好呢?

我确实卸载/重新安装了 Nodejs,但这没有帮助。

有人有想法吗?

提前致谢!

【问题讨论】:

啊,好吧……没想到。 off-topic mike 你的照片吓到我了。 您能否将您的提示放在 C:/users/mendsley/profile/Desktop/project/ 中并再次尝试npm install gulp-sass 我添加了代码并删除了该图像 @Michael P. - 当我使用以下路径 /c/Users/mendsley/Desktop 时,我看不到我的项目文件夹。我确实注意到我在 Git Bash 窗口中的路径显示 \\primary,但由于某种原因我无法到达。 【参考方案1】:

您的第一个猜测很好,因为它是路径名称的问题。从错误消息中:

UNC 路径不受支持。默认为 Windows 目录。

npm 需要访问\\primary\home\mendsley\...\node_modules\node-sass 才能执行 gulp-sass 安装脚本。但此路径是 UNC 路径(统一命名约定),因此不受支持。

因此,npm 命令默认为 C:/Windows 并尝试执行 gulp-sass (install.js) 的安装脚本,但正如您可能猜到的那样,这个脚本是,此目录中不存在。

【讨论】:

有办法解决这个问题吗?我可以告诉 npm 使用特定路径吗? 在 Windows 中,您可以将驱动器号映射到网络路径。你可以试试,虽然我承认我不确定这会取得进展。 所以在与另一个系统管理员交谈后,问题出在路径上。我正在我的桌面上创建一个文件夹,该文件夹位于网络上,而不是实际上在我的机器上。所以我进入C: &gt; Users &gt; MYNAME 并以这种方式创建了我的项目文件夹。一旦我这样做了,一切都安装得很好。我敢肯定人们不会喜欢这样,但你通过提出网络共享让我接受了这个决议,所以我给你的功劳。谢谢你:) 不客气。作为记录,您还可以尝试将驱动器号(例如Z:)映射到路径\\primary\home 并从Z:\mendsley\profile\Desktop\project 执行安装。这可能会奏效。【参考方案2】:

这也可能是旧 NodeJS 或 NPM 版本的依赖地狱问题。 gulp-sass 依赖于 node-sass,后者又依赖于其他包,它们也依赖于正确的 NodeJS 和 NPM 版本。对于版本 0.7.3,完整的依赖项如下所示:

├─┬ gulp-sass@0.7.3 │ ├── map-stream@0.1.0 │ └─┬ node-sass@0.9.6 │ ├─┬ chalk@0.5.1 │ │ ├── ansi-styles@1.1.0 │ │ ├── escape-string-regexp@1.0.3 │ │ ├─┬ has-ansi@0.1.0 │ │ │ └── ansi-regex@0.2.1 │ │ ├─┬ strip-ansi@0.3.0 │ │ │ └── ansi-regex@0.2.1 │ │ └── supports-color@0.2.0 │ ├── get-stdin@3.0.2 │ ├─┬ mkdirp@0.5.1 │ │ └── minimist@0.0.8 │ ├─┬ mocha@1.21.5 │ │ ├── commander@2.3.0 │ │ ├─┬ debug@2.0.0 │ │ │ └── ms@0.6.2 │ │ ├── diff@1.0.8 │ │ ├── escape-string-regexp@1.0.2 │ │ ├─┬ glob@3.2.3 │ │ │ ├── graceful-fs@2.0.3 │ │ │ ├── inherits@2.0.1 │ │ │ └─┬ minimatch@0.2.14 │ │ │ ├── lru-cache@2.7.3 │ │ │ └── sigmund@1.0.1 │ │ ├── growl@1.8.1 │ │ ├─┬ jade@0.26.3 │ │ │ ├── commander@0.6.1 │ │ │ └── mkdirp@0.3.0 │ │ └─┬ mkdirp@0.5.0 │ │ └── minimist@0.0.8 │ ├── nan@1.3.0 │ ├── node-sass-middleware@0.3.1 │ ├── node-watch@0.3.5 │ ├── object-assign@1.0.0 │ ├─┬ sinon@1.10.3 │ │ ├─┬ formatio@1.0.2 │ │ │ └── samsam@1.1.3 │ │ └─┬ util@0.10.3 │ │ └── inherits@2.0.1 │ └── yargs@1.3.3

我无法使用最新版本的 NodeJS 5.2.0 和 NPM 3.5.2 安装 gulp-sass 的 0.7.3 版。这个旧版本的 gulp-sass 仅适用于旧版本的 NodeJS 0.12.9 和 NPM 2.14.9,另请参阅 https://github.com/sass/node-sass/issues/1166

【讨论】:

【参考方案3】:

看看这个:

"CMD.EXE 以上述路径作为当前目录启动。 不支持 UNC 路径。默认为 Windows 目录。”

您可以使用pushd 命令。作为网络共享域用户的 --global 安装示例:

pushd \\server\yourpath\user\AppData\Roaming\npm

提示:您可以通过在资源管理器中使用 %appdata%\npm 来找出全局 npm 安装的正确路径,cmd 回答:

Z:\user\AppData\Roaming\npm&gt;

现在您可以输入“npm install node-sass”(或 gulp-sass 或其他)

Z:\user\AppData\Roaming\npm&gt;npm install node-sass

没有 --global 或 -g,在这条路径中你是“全局的”

如果完成,则popd断开Z:

【讨论】:

【参考方案4】:

我遇到了同样的问题,我通过简单的步骤解决了它。

真正的问题是使用自动运行来设置命令提示符的路径。它与您的注册表有关。 我刚刚删除了注册表中命令处理器的自动运行文件,它开始正常工作。

加入this link

【讨论】:

以上是关于无法安装 gulp-sass的主要内容,如果未能解决你的问题,请参考以下文章

使用 Bower 安装 Gulp-Sass 时出现 ENOTFound 错误

npm安装gulp-sass失败处理办法

metronic 4.5.7开发环境下, 在Windows 10上安装了10.16.0版本的node js之后,导致node sass无法加载

为啥 gulp-sass 不创建输出

Gulp-sass 不会编译成 CSS

Gulp 没有运行 gulp-sass