Laravel Mix:更新Node.js依赖项

时间:2017-02-06 13:13:13

标签: node.js laravel webpack vuejs2 laravel-mix

我正在尝试使用Laravel Mix编译webpack配置文件。

关于Laracasts Vue 2系列的webpack剧集,

// Scripts

  "scripts": {
    "dev": "node node_modules/cross-env/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
  },
....

// mix
mix.js('resources/assets/js/app.js', 'public/js')
.sass('resources/assets/sass/app.scss', 'public/css')
.version();

当我运行$ npm run dev时,我收到一个错误:

npm ERR! Exit status 1

npm ERR! Failed at the @ dev script 'node node_modules/cross-env/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js'.

// Running

npm ERR! node v4.4.5
npm ERR! npm v2.15.5

// The error points to
let extractPlugin = new plugins.ExtractTextPlugin(
/Users/User/Code/project/node_modules/laravel-mix/setup/webpack.config.js:126

问题似乎是更新Node.js依赖项:https://github.com/JeffreyWay/laravel-mix/issues/264

如何更新Node.js依赖项?

我在尝试:

$ brew upgrade node : Error = node not installed
$ node -v = 2.15.5
$ npm -v = 4.4.5
$ brew install node // installs but throws error

Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/node
Target /usr/local/bin/node
already exists. You may want to remove it:
  rm '/usr/local/bin/node'

To force the link and overwrite all conflicting files:
  brew link --overwrite node

To list all files that would be deleted:
  brew link --overwrite --dry-run node

Possible conflicting files are:
/usr/local/bin/node
...

**$ brew upgrade node // says node 7.5.0 already installed**
$ npm run dev // same error
$ node -v = 4.4.5

我还运行了安装的$ brew安装节点,但是我收到了一个错误:

  

错误:brew link步骤未成功完成。
  建立了公式,但没有符号链接到/ usr / local。
  无法符号链接bin / node。
  目标/ usr / local / bin / node
  已经存在。您可能想要将其删除:
  rm '/usr/local/bin/node'

强制链接并覆盖所有冲突的文件:

brew link --overwrite node

列出所有要删除的文件:

brew link --overwrite --dry-run node

4 个答案:

答案 0 :(得分:1)

您可以在laravel项目中删除节点模块文件夹。

在运行之后:

npm install - g npm

此命令将重新安装带有升级节点文件的节点模块文件夹。 接下来,您可以尝试运行

npm run dev

您也可以运行

npm update

更新您的节点

希望这个答案会有所帮助

答案 1 :(得分:0)

我正在使用Windows 10 您可以为节点下载NVM,它代表节点版本管理器 设置好之后,在您的cmd中键入

nvm version
nvm install node {version of node you want}
nvm use {version of node}

希望这对您有用 因为它对我有用

答案 2 :(得分:-1)

我再次从nodejs.org安装了Node.js,重写了旧文件。

然而,这实际上将npm从4.4.5降级到4.1.2 ...... Node.js是2.15.5,现在是7.5.0。

我还必须安装一些模块:$ npm install autoprefixer

$ npm run dev // works now

答案 3 :(得分:-3)

要使用多个Node.js版本,您需要安装nvm Node.js版本管理器。

之后运行nvm use node以使用最新版本的Node.js。