NPM完全忽略了全球安装的软件包

时间:2017-06-29 13:14:38

标签: node.js macos npm

我在本地安装软件包时出现问题,全局安装的软件包可用。包含路径似乎有问题,但我不确定这是由什么造成的。

系统:Mac OS X
节点:8.3.1
NPM:5.0.4

npm list -g --depth=0

的输出
/usr/local/lib
+-- node-gyp@3.6.2
+-- node-sass@4.5.3
+-- npm@5.0.4
`-- npm-check@5.4.4

当我尝试安装它时,首先会提到全局安装 node-gyp,与警告不同。然后,它失败了node-sass 全局安装。

jurriendokter$ npm install
npm WARN prefer global node-gyp@3.6.1 should be installed with -g

> node-sass@4.5.2 install /Users/jurriendokter/Development/holland-toolkit/node_modules/node-sass
> node scripts/install.js

module.js:487
    throw err;
    ^

Error: Cannot find module 'extend'
    at Function.Module._resolveFilename (module.js:485:15)
    at Function.Module._load (module.js:437:25)
    at Module.require (module.js:513:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/jurriendokter/Development/holland-toolkit/node_modules/node-sass/node_modules/request/index.js:17:29)
    at Module._compile (module.js:569:30)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:503:32)
    at tryModuleLoad (module.js:466:12)
    at Function.Module._load (module.js:458:3)
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: node-sass@https://registry.npmjs.org/node-sass/-/node-sass-4.5.2.tgz (node_modules/node-sass):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: node-sass@4.5.2 install: `node scripts/install.js`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

added 291 packages in 7.829s

我在mac osx上重新安装了节点,检查了npm doctor以及所有内容,但我完全失去了。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我设法使用以下程序解决了这个问题。

  • public class ReactRethrow { public static <T, R> Function<T, R> rethrow(FunctionWithCheckeException<T, R> catchedFunc) { return t -> { try { return catchedFunc.call(t); } catch (Exception e) { throw Exceptions.propagate(e); } }; } @FunctionalInterface public interface FunctionWithCheckeException<T, R> { R call(T t) throws Exception; } }
  • npm cache clear --force
  • rm -rf node_modules
  • rm package-lock.json
  • npm install

请注意,这不会解决警告:npm update但它允许我再次安装和运行我的脚本。