node.js - 尝试安装 node-sass 时出现 NPM 错误

标签 node.js npm npm-install node-sass

我试图通过运行命令 sudo npm install node-sass 在 Linux Mint 上安装 node-sass,但出现了一些错误。它说它无权访问某些目录,这没有任何意义,因为我使用 sudo 运行它。我在 StackOverflow 上尝试了很多解决方案,包括清除 Node 、使用不同版本等,但都没有奏效。这是完整的终端日志:

> node-sass@4.9.3 install /home/caden/Desktop/Infinite_Robots_Work/infinite-robots-homepage/infinite-robots-homepage/node_modules/node-sass
> node scripts/install.js

Unable to save binary /home/caden/Desktop/Infinite_Robots_Work/infinite-robots-homepage/infinite-robots-homepage/node_modules/node-sass/vendor/linux-x64-57 : { Error: EACCES: permission denied, mkdir '/home/caden/Desktop/Infinite_Robots_Work/infinite-robots-homepage/infinite-robots-homepage/node_modules/node-sass/vendor'
    at Object.fs.mkdirSync (fs.js:885:18)
    at sync (/home/caden/Desktop/Infinite_Robots_Work/infinite-robots-homepage/infinite-robots-homepage/node_modules/mkdirp/index.js:71:13)
    at Function.sync (/home/caden/Desktop/Infinite_Robots_Work/infinite-robots-homepage/infinite-robots-homepage/node_modules/mkdirp/index.js:77:24)
    at checkAndDownloadBinary (/home/caden/Desktop/Infinite_Robots_Work/infinite-robots-homepage/infinite-robots-homepage/node_modules/node-sass/scripts/install.js:114:11)
    at Object.<anonymous> (/home/caden/Desktop/Infinite_Robots_Work/infinite-robots-homepage/infinite-robots-homepage/node_modules/node-sass/scripts/install.js:157:1)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
  errno: -13,
  code: 'EACCES',
  syscall: 'mkdir',
  path: '/home/caden/Desktop/Infinite_Robots_Work/infinite-robots-homepage/infinite-robots-homepage/node_modules/node-sass/vendor' }

> node-sass@4.9.3 postinstall /home/caden/Desktop/Infinite_Robots_Work/infinite-robots-homepage/infinite-robots-homepage/node_modules/node-sass
> node scripts/build.js

Building: /usr/local/bin/node /home/caden/Desktop/Infinite_Robots_Work/infinite-robots-homepage/infinite-robots-homepage/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   '/home/caden/Desktop/Infinite_Robots_Work/infinite-robots-homepage/infinite-robots-homepage/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.8.0
gyp info using node@8.11.0 | linux | 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` succeeded python2 /usr/bin/python2
gyp verb check python version `/usr/bin/python2 -c "import sys; print "2.7.12
gyp verb check python version .%s.%s" % sys.version_info[:3];"` returned: %j
gyp verb get node dir no --target version specified, falling back to host node version: 8.11.0
gyp verb command install [ '8.11.0' ]
gyp verb install input version string "8.11.0"
gyp verb install installing version: 8.11.0
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.0
gyp verb build dir attempting to create "build" dir: /home/caden/Desktop/Infinite_Robots_Work/infinite-robots-homepage/infinite-robots-homepage/node_modules/node-sass/build
gyp ERR! configure error 
gyp ERR! stack Error: EACCES: permission denied, mkdir '/home/caden/Desktop/Infinite_Robots_Work/infinite-robots-homepage/infinite-robots-homepage/node_modules/node-sass/build'
gyp ERR! System Linux 4.10.0-37-generic
gyp ERR! command "/usr/local/bin/node" "/home/caden/Desktop/Infinite_Robots_Work/infinite-robots-homepage/infinite-robots-homepage/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /home/caden/Desktop/Infinite_Robots_Work/infinite-robots-homepage/infinite-robots-homepage/node_modules/node-sass
gyp ERR! node -v v8.11.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok 
Build failed with error code: 1
npm WARN ajv-keywords@3.2.0 requires a peer of ajv@^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-sass@4.9.3 postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the node-sass@4.9.3 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/caden/.npm/_logs/2018-08-10T00_32_24_558Z-debug.log

最佳答案

尝试使用以下内容,Source

sudo npm install --unsafe-perm -g node-sass

关于node.js - 尝试安装 node-sass 时出现 NPM 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51777468/

相关文章:

javascript - 有没有办法从 NativeScript 应用程序通过 SSL 与 WebSocket 通信?

json - 如何分析 Web 服务?

node.js - 配置 grunt-ts 并使其与 LiveReload 一起工作

npm - postcss-cli : using locally vs globally installed postcss modules

javascript - npm 持续全局安装

javascript - Nodejs/Expressjs 应用结构

node.js - 在 Ubuntu 上简单安装当前版本的 Wekan?

javascript - 如何编写和使用 @types 或 DefinitelyTyped 上不存在的自定义声明文件?

npm - 未找到兼容版本

ember.js - Ember 包.json : dependencies vs devDependencies