【问题标题】:npm run dev command does not work on vuejs' hackernews examplenpm run dev 命令不适用于 vuejs 的hackernews 示例
【发布时间】:2018-01-18 12:53:33
【问题描述】:

我正在尝试从 vuejs 的 github repository 运行 vue-hackernews-2.0 示例

在设置部分它解释了如何安装项目:

# install dependencies
npm install # or yarn

# serve in dev mode, with hot reload at localhost:8080
npm run dev

# build for production
npm run build

# serve in production mode
npm start

我安装了 npm。在 server.js 中将端口更改为 8888 后,我在命令行中输入了“npm run dev”。

> vue-hackernews-2.0@ dev D:\Users\212399486\WebstormProjects\vue-hackernews-2.0-master
> node server

server started at localhost:8888


DONE  Compiled successfully in 16328ms                                                                                                                                                                                                                        1:02:18 PM


DONE  Compiled successfully in 17845ms                                                                                                                                                                                                                        1:02:19 PM


webpack built bd162a76119031a85eed in 17845ms

当我访问 localhost:8888 时,它只会尝试加载 1 分钟然后失败,控制台上没有任何内容。

我想我也应该尝试“npm run build”和“npm start”,所以我也使用了两个命令。 “npm run build”成功创建了 dist 文件。

但是在“npm start”之后我得到了这个错误:

> vue-hackernews-2.0@ start D:\Users\212399486\WebstormProjects\vue-hackernews-2.0-master
> cross-env NODE_ENV=production node server

module.js:471
    throw err;
    ^

Error: Cannot find module './dist/vue-ssr-server-bundle.json'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (D:\Users\212399486\WebstormProjects\vue-hackernews-2.0-master\server.js:41:18)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: spawn node ENOENT
    at notFoundError (D:\Users\212399486\WebstormProjects\vue-hackernews-2.0-master\node_modules\cross-spawn\lib\enoent.js:11:11)
    at verifyENOENT (D:\Users\212399486\WebstormProjects\vue-hackernews-2.0-master\node_modules\cross-spawn\lib\enoent.js:46:16)
    at ChildProcess.cp.emit (D:\Users\212399486\WebstormProjects\vue-hackernews-2.0-master\node_modules\cross-spawn\lib\enoent.js:33:19)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)

npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "D:\\Users\\212399486\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "start"
npm ERR! node v6.11.2
npm ERR! npm  v3.10.8
npm ERR! code ELIFECYCLE
npm ERR! vue-hackernews-2.0@ start: `cross-env NODE_ENV=production node server`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the vue-hackernews-2.0@ start script 'cross-env NODE_ENV=production node server'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the vue-hackernews-2.0 package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     cross-env NODE_ENV=production node server
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs vue-hackernews-2.0
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls vue-hackernews-2.0
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     D:\Users\212399486\WebstormProjects\vue-hackernews-2.0-master\npm-debug.log

dist 文件夹截图:

package.json 脚本:

"scripts": {
    "dev": "node server",
    "start": "cross-env NODE_ENV=production node server",
    "build": "rimraf dist && npm run build:client && npm run build:server",
    "build:client": "cross-env NODE_ENV=production webpack --config build/webpack.client.config.js --progress --hide-modules",
    "build:server": "cross-env NODE_ENV=production webpack --config build/webpack.server.config.js --progress --hide-modules"
  },

【问题讨论】:

  • 尝试执行npm run build:server
  • 我的回答有用吗?
  • @EMX 我正在尝试升级我的 npm(有代理问题),我会在它之后更新。
  • 你还需要升级你的nodejs

标签: javascript node.js npm webpack vue.js


【解决方案1】:

您正在使用不受支持的节点版本。您的错误指向node v6.11.2,见下文。

 npm ERR! Windows_NT 6.1.7601
 npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "D:\\Users\\212399486\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "start"
 npm ERR! node v6.11.2
 npm ERR! npm  v3.10.8

vue-hackernews-2.0 需要 Node.js 7+。将您的节点升级到 7+ 版本,您应该没问题。我还建议更新您的 npm 版本。

如果您需要说明,请参阅the answers to this question 了解有关如何更新节点版本的详细信息。

【讨论】:

    【解决方案2】:

    需要 Node.js 7+

    我设法让它毫无问题地工作。

    $node -v
    v8.3.0
    $npm -v
    5.3.0
    

    更改默认端口成功:

    要更改默认端口,您必须编辑 package.json 脚本:

    开发者:cross-env PORT=8888 node server

    开始:cross-env PORT=8888 NODE_ENV=production node server

    然后运行npm run dev

    > vue-hackernews-2.0@ dev /home/emx/so/vue-hackernews-2.0
    > cross-env PORT=8888 node server
    
    server started at localhost:8888
    

    【讨论】:

    • 这也是我在控制台看到的。但是去 localhost:8888 不会给我任何东西。
    • 万无一失,尝试从头开始,再次克隆repo,除了package.json之外不要修改任何东西...
    • 还是打不开。这些来自命令行:服务器在 localhost:8888 启动,DONE 在 6111 毫秒内编译成功,在 7098 毫秒内成功编译,webpack 在 7098 毫秒内构建 8385a245ad885ee486c6
    • 尝试 127.0.0.1:8888 或在终端中执行 ifconfig | grep 192 在网络中找到您的本地 ip 尝试在浏览器中使用端口 8888 打开它
    • 正如我的第一行所说的“需要 Node.js 7”和@QuoVadis 再次指出......你需要更新你的节点版本。请记住,更改端口是编辑package.json
    猜你喜欢
    • 1970-01-01
    • 2022-07-21
    • 2019-08-08
    • 2022-08-04
    • 2018-06-22
    • 2019-03-12
    • 1970-01-01
    • 1970-01-01
    • 2017-12-28
    相关资源
    最近更新 更多