无法安装gulp-sass

我试图学习如何使用gulp / sass /和所有其他有趣的工具与Nodejs和我有安装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 

我正在我的工作电脑上试试这个,所以我不确定这是否重要。 系统pipe理员说,不应该有任何问题,其他人不会有同样的问题…和他们交谈,他们没有提供任何帮助。 我试过我的个人笔记本电脑上的所有东西,安装好的话,所以这是我的工作电脑的东西。

我最初的想法是这是一个path问题,但为什么其他软件包安装好吗?

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

有没有人有一个想法?

提前致谢!

你的第一个猜测是好的,因为它是path名称的问题。 从错误消息:

UNCpath不受支持。 默认为Windows目录。

Npm需要访问\\primary\home\mendsley\...\node_modules\node-sass以执行\\primary\home\mendsley\...\node_modules\node-sass -sass安装脚本。 但是这条path是UNCpath (统一命名约定),因此不被支持。

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

这可能是一个更旧的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.2gulp-sass 0.7.3版本。 这个老版本的gulp-sass只能使用旧版本的0.12.9和NPM 2.14.9 ,另见https://github.com/sass/node-sass/issues/1166

看这个:

“CMD.EXE以上述path作为当前目录启动,不支持UNCpath,默认为Windows目录。

你可以使用pushd命令。 作为–globalnetworking共享上域用户的安装示例:

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

提示:你可以通过在资源pipe理器中使用%appdata%\npm来找出全局npm安装的正确path,cmd的答案是:

Z:\user\AppData\Roaming\npm>

现在你可以input“npm install node-sass”(或者gulp-sass或其他)

Z:\user\AppData\Roaming\npm>npm install node-sass

没有–global或-g,在这个path中你是“全局的”

如果完成,然后popd以断开Z:

我有同样的问题,我用简单的步骤来解决它。

真正的问题是自动运行来设置命令提示符的path。 这与您的registry有关。 我刚刚删除registry中的自动运行文件命令处理器,它开始正常工作。

在这个链接跳