为什么有时npm install在Mac上不起作用?

时间:2019-01-12 16:17:40

标签: node.js macos npm scrypt

我在运行命令 npm install 时创建了nodejs项目,该项目因某些错误而失败

同一项目正在 ubuntu 系统上工作,但是当我在 mac 系统上克隆此代码并尝试运行npm install时,它会由于某些错误而失败

我认为scrypt模块有些问题,但我不完全知道原因 请帮助我,在此先感谢

操作系统:MAC
节点:10.15
Npm:6.0

查看以下错误:-

WareWolf:mynodeapp$ npm install
> scrypt@6.0.3 preinstall /node_modules/scrypt
> node node-scrypt-preinstall.js

Error: Error: Command failed: ./configure
configure: error: /node_modules/scrypt/scrypt/scrypt-1.2.0':
configure: error: C compiler cannot create executables
See `config.log' for more details

> scrypt@6.0.3 install /node_modules/scrypt
> node-gyp rebuild

gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (/usr/local/Cellar/nvm/0.34.0/versions/node/v10.15.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:240:12)
gyp ERR! System Darwin 17.7.0
gyp ERR! command "/usr/local/Cellar/nvm/0.34.0/versions/node/v10.15.0/bin/node" "/usr/local/Cellar/nvm/0.34.0/versions/node/v10.15.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /node_modules/scrypt
gyp ERR! node -v v10.15.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! scrypt@6.0.3 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the scrypt@6.0.3 install script.

2 个答案:

答案 0 :(得分:1)

我通过删除“ package-lock.json”文件,.npm文件,node_modules文件并清理npm缓存来解决了

所需步骤:

npm install npm@latest -g
npm cache clean — force
rm -rf ~/.npm
rm -rf node_modules
rm -f package-lock.json

在npm install .staging问题中,当您运行npm install时,它将创建node_modules文件夹,但是所有模块都进入名为.staging的子文件夹

答案 1 :(得分:0)

当我在linux机器上启动一个项目时,我发现了相同的问题,我想从Mac上克隆它来进行工作。

对我有用的解决方案:

npm install --no-optional

更多信息:https://stackoverflow.com/a/47071650/2976796

解决此问题的另一种方法是删除package-lock.json。