【问题标题】:Laravel Mix: Update a Node.js dependencyLaravel Mix:更新 Node.js 依赖项
【发布时间】:2017-06-23 10:45:06
【问题描述】:

我正在尝试使用 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 install node ,但我得到了一个错误:

错误: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

【问题讨论】:

  • 试过brew upgrade node ?
  • 是的,最后提到了,没有安装节点,但如果我运行 node -v 我得到 4.4.5
  • 试试brew unlink node --force && brew uninstall node - 然后再试试安装,可以试试brew install node@6
  • 从 nodejs.org 源安装,npm 现在是 4.1.2,node 是 7.5.0 $ npm run dev = new error module.js:472 throw err; ^ 错误:找不到模块 'autoprefixer' $npm install autoprefixer
  • 一年后我在 OSX 上有这个:$ brew upgrade node Error: node 9.11.1 already installed -- $ sudo ln -sf /usr/local/n/versions/node/9.11.1/bin/node /usr/bin/node ln: /usr/bin/node: Operation not permitted

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


【解决方案1】:

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

之后运行:

npm install - g npm

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

npm run dev

你也可以运行

npm update

更新你的节点

希望这个答案会有所帮助

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

      我从 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
      

      【讨论】:

      • 你是怎么做到的?...你能解释一下吗,我遇到了同样的问题,到目前为止我还没有找到任何解决方案。
      • 不得不更新 node 和 npm,然后有一堆缺少的依赖项,例如 autoprefixer ......它告诉我每个人都下载缺少只是 npm install 缺少依赖项的问题,只有 2 -3 据我所知。收到了吗?
      • 你应该可以运行npm install,它会在你的package.json文件中安装所有缺少的依赖项
      猜你喜欢
      • 1970-01-01
      • 2017-12-05
      • 1970-01-01
      • 2014-04-21
      • 2017-10-13
      • 2012-01-31
      • 1970-01-01
      • 1970-01-01
      • 2017-11-22
      相关资源
      最近更新 更多