使用 node-sass 安装 angular-cli 时出错
Error with install angular-cli with node-sass
我的系统配置:
德比安 4.4 ,
nvm 0.33.8 ,
节点 v8.9.4,
npm 5.6.0 .
我想安装 Angular-cli npm install -g @angular/cli
。
但是我收到一条错误消息:
root@contracts:/home/kalugin# npm install -g @angular/cli
/root/.nvm/versions/node/v8.9.4/bin/ng -> /root/.nvm/versions/node/v8.9.4/lib/node_modules/@angular/cli/bin/ng
> node-sass@4.7.2 install /root/.nvm/versions/node/v8.9.4/lib/node_modules/@angular/cli/node_modules/node-sass
> node scripts/install.js
module.js:471
throw err;
^
Error: Cannot find module '/root/.nvm/versions/node/v8.9.4/lib/node_modules/@angular/cli/node_modules/node-sass/scripts/install.js'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3
> uglifyjs-webpack-plugin@0.4.6 postinstall /root/.nvm/versions/node/v8.9.4/lib/node_modules/@angular/cli/node_modules/webpack/node_modules/uglifyjs-webpack-plugin
> node lib/post_install.js
module.js:471
throw err;
^
Error: Cannot find module '/root/.nvm/versions/node/v8.9.4/lib/node_modules/@angular/cli/node_modules/webpack/node_modules/uglifyjs-webpack-plugin/lib/post_install.js'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.1.3 (node_modules/@angular/cli/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: node-sass@4.7.2 (node_modules/@angular/cli/node_modules/node-sass):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: node-sass@4.7.2 install: `node scripts/install.js`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! uglifyjs-webpack-plugin@0.4.6 postinstall: `node lib/post_install.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the uglifyjs-webpack-plugin@0.4.6 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! /root/.npm/_logs/2018-02-09T17_27_50_397Z-debug.log
我试过了npm cache clean
,没用。
我尝试更改节点版本 nvm use v6.12.3
,但没有帮助。
debug.log 指出了 node-sass
包的问题。
我尝试在全局安装 node-sass
- 但同样的错误。我无法安装节点-sass...
有什么想法吗?
问题可能是因为您是 运行 root 用户,当您这样做时 NPM 会自动禁用脚本。尝试将 --unsafe-perm
传递给 NPM 安装命令
试试npm rebuild node-sass
它会很方便
实际上问题是由于在命令中使用 sudo 禁用了脚本。尝试不带 sudo 的 npm install -g angular-cli 它会起作用
我的系统配置:
德比安 4.4 ,
nvm 0.33.8 ,
节点 v8.9.4,
npm 5.6.0 .
我想安装 Angular-cli npm install -g @angular/cli
。
但是我收到一条错误消息:
root@contracts:/home/kalugin# npm install -g @angular/cli
/root/.nvm/versions/node/v8.9.4/bin/ng -> /root/.nvm/versions/node/v8.9.4/lib/node_modules/@angular/cli/bin/ng
> node-sass@4.7.2 install /root/.nvm/versions/node/v8.9.4/lib/node_modules/@angular/cli/node_modules/node-sass
> node scripts/install.js
module.js:471
throw err;
^
Error: Cannot find module '/root/.nvm/versions/node/v8.9.4/lib/node_modules/@angular/cli/node_modules/node-sass/scripts/install.js'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3
> uglifyjs-webpack-plugin@0.4.6 postinstall /root/.nvm/versions/node/v8.9.4/lib/node_modules/@angular/cli/node_modules/webpack/node_modules/uglifyjs-webpack-plugin
> node lib/post_install.js
module.js:471
throw err;
^
Error: Cannot find module '/root/.nvm/versions/node/v8.9.4/lib/node_modules/@angular/cli/node_modules/webpack/node_modules/uglifyjs-webpack-plugin/lib/post_install.js'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.1.3 (node_modules/@angular/cli/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: node-sass@4.7.2 (node_modules/@angular/cli/node_modules/node-sass):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: node-sass@4.7.2 install: `node scripts/install.js`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! uglifyjs-webpack-plugin@0.4.6 postinstall: `node lib/post_install.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the uglifyjs-webpack-plugin@0.4.6 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! /root/.npm/_logs/2018-02-09T17_27_50_397Z-debug.log
我试过了npm cache clean
,没用。
我尝试更改节点版本 nvm use v6.12.3
,但没有帮助。
debug.log 指出了 node-sass
包的问题。
我尝试在全局安装 node-sass
- 但同样的错误。我无法安装节点-sass...
有什么想法吗?
问题可能是因为您是 运行 root 用户,当您这样做时 NPM 会自动禁用脚本。尝试将 --unsafe-perm
传递给 NPM 安装命令
试试npm rebuild node-sass
它会很方便
实际上问题是由于在命令中使用 sudo 禁用了脚本。尝试不带 sudo 的 npm install -g angular-cli 它会起作用