sh:1:rimraf:每当我在 Windows 10 或 MacOS 上安装的 vagrant 中运行 npm run build 时都找不到

问题描述 投票:0回答:2

我想在 Vagrant(安装在 Windows 10 上)中运行一个 webpack 项目,我嵌入了 Ubuntu 16.04 虚拟机。

我能够非常成功地安装

npm 5.6.0
nodejs v8.9.4

我尝试运行

npm install
来安装所有依赖项。收到这些错误后:

...
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR! stack     at emitTwo (events.js:126:13)
gyp ERR! stack     at ChildProcess.emit (events.js:214:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Linux 4.4.0-116-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /vagrant/src/my_project/static/node_modules/contextify
gyp ERR! node -v v8.9.4
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
...

我尝试过:

npm install --no-bin-links
,这给了我与上面相同的错误。

所以我就跑了:

npm run build

现在我不断收到此错误:

sh: 1: rimraf: not found
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! [email protected] clean: `rimraf dist`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the [email protected] clean 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/vagrant/.npm/_logs/2018-03-04T04_44_09_988Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build: `npm run clean && webpack`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build 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/vagrant/.npm/_logs/2018-03-04T04_44_10_048Z-debug.log

这是我的 package.json :

{
  "name": "my-project",
  "version": "1.0.0",
  "description": "project",
  "main": "index.js",
  "scripts": {
    "clean": "rimraf dist",
    "build": "npm run clean && webpack",
    "serve": "webpack-dev-server"
  },
  "repository": "",
  "author": "Edgar KAMDEM",
  "license": "ISC",
  "dependencies": {
    "acorn": "^5.5.0",
    "axios": "^0.17.1",
    "bootstrap": "^4.0.0-alpha.6",
    "fabric": "^1.7.22",
    "file-loader": "^1.1.5",
    "font-awesome": "^4.7.0",
    "jquery": "^3.2.1",
    "jquery-ui-dist": "^1.12.1",
    "lodash": "^4.17.4",
    "mxgraph": "^3.8.0",
    "popper.js": "^1.12.9",
    "react": "^16.2.0",
    "react-dom": "^16.2.0",
    "react-input-range": "^1.2.2",
    "react-redux": "^5.0.6",
    "react-router": "^4.2.0",
    "react-router-dom": "^4.2.2",
    "redux": "^3.7.2",
    "redux-form": "^7.2.0",
    "redux-promise": "^0.5.3",
    "redux-thunk": "^2.2.0"
  },
  "devDependencies": {
    "autoprefixer": "^7.1.6",
    "babel-core": "^6.26.0",
    "babel-loader": "^7.1.2",
    "css-loader": "^0.28.7",
    "extract-text-webpack-plugin": "^3.0.2",
    "html-webpack-plugin": "^2.30.1",
    "node-sass": "^4.7.2",
    "postcss-loader": "^2.0.9",
    "precss": "^2.0.0",
    "rimraf": "^2.6.2",
    "sass-loader": "^6.0.6",
    "style-loader": "^0.19.0",
    "webpack": "^3.11.0",
    "webpack-dev-server": "^2.11.2"
  }
}

不知道该怎么办,我迷路了。我尝试了 Google 上的所有内容(Github、SO 等)。没有任何作用。

请帮忙!

node.js npm webpack vagrant windows-10
2个回答
24
投票

只需将此脚本添加到您的

package.json

"scripts": {
    ...
    "rimraf": "./node_modules/rimraf/bin.js",
}

当前的行为是寻找全局安装的 rimraf (您也可以通过执行

npm i -g rimraf
来完成),但上面的行表示它应该使用本地项目的版本。


12
投票

在极少数情况下,

npm install -g @angular/cli@latest
将无法在以下位置创建文件bin.js

C:\Users\{{user}}\AppData\Roaming\npm\node_modules\rimraf

因此,请先尝试通过运行以下命令来创建丢失的文件

npm i -g rimraf

现在你可以运行

npm install -g @angular/cli@latest
,它将安装 Angular 没有任何问题

© www.soinside.com 2019 - 2024. All rights reserved.