我在本地安装软件包时出现问题,全局安装的软件包可用。包含路径似乎有问题,但我不确定这是由什么造成的。
系统: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
以及所有内容,但我完全失去了。
我该如何解决这个问题?
答案 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
但它允许我再次安装和运行我的脚本。