Contact me: hankecnc@gmail.com

Cloud9 上的构建问题 #208

推推 grbl 3年前 (2023-02-02) 390次浏览
关闭
12 个任务中的第 4 个
MitchBradley 打开了这个问题 2017 年 9 月 21 日 · 4条评论
关闭
12 个任务中的第 4 个

Cloud9 上的构建问题#208

MitchBradley 打开了这个问题 2017 年 9 月 21 日 · 4条评论

评论

Cloud9 上的构建问题 #208

描述

我在 Cloud9 ( https://c9.io ) 上构建 cncjs 时遇到问题。

背景

Cloud9 是一种开发环境服务,可在 Docker 容器中为您提供云托管的 Ubuntu 实例。(我的开发计算机被 IDE 和工具链淹没了,所以我正在尝试为每个项目使用单独的云实例的工作流程。)

我做了什么

我从我的 cncjs 分支 (github.com/MitchBradley/cncjs) 的 Node.js 模板(其中实例中预加载了最新版本的节点)创建了一个 Cloud 9 工作区,该分支未从上游修改。这具有创建预安装 Node 的 Ubuntu Ubuntu 14.04.5 LTS 实例的效果,并将 cncjs “git clone”ing 到 ~/workspace 中。

第一个问题

然后我按照 CONTRIBUTING.md 中的说明运行了以下命令:

mitchbradley:~/workspace (master) $ npm --version
3.10.10
mitchbradley:~/workspace (master) $ git remote add upstream git://github.com/cncjs/cncjs.git
mitchbradley:~/workspace (master) $ git checkout -b mitch -t origin/master
Branch mitch set up to track remote branch master from origin.
Switched to a new branch 'mitch'
mitchbradley:~/workspace (mitch) $ npm install -g npm

npm-install-output.txt

mitchbradley:~/workspace (mitch) $ git config --global user.name "MitchBradley"
mitchbradley:~/workspace (mitch) $ git config --global user.email "wmb@firmworks.com"
mitchbradley:~/workspace (mitch) $ npm install
module.js:471
    throw err;
    ^

Error: Cannot find module 'process-nextick-args'
    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> (/home/ubuntu/.nvm/versions/node/v6.11.2/lib/node_modules/npm/node_modules/readable-stream/lib/_stream_readable.js:26:23)
    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)

第二次尝试

然后我将 Node 版本降级到 4 并再次尝试:

mitchbradley:~/workspace (mitch) $ nvm use 4
Now using node v4.8.4 (npm v2.15.11)
mitchbradley:~/workspace (mitch) $ npm install -g npm
/home/ubuntu/.nvm/versions/node/v4.8.4/bin/npx -> /home/ubuntu/.nvm/versions/node/v4.8.4/lib/node_modules/npm/bin/npx-cli.js
/home/ubuntu/.nvm/versions/node/v4.8.4/bin/npm -> /home/ubuntu/.nvm/versions/node/v4.8.4/lib/node_modules/npm/bin/npm-cli.js
npm@5.4.2 /home/ubuntu/.nvm/versions/node/v4.8.4/lib/node_modules/npm
mitchbradley:~/workspace (mitch) $ npm install >npm.install.log

npm-install-log-stderr.txt
npm.install.log.txt
npm-debug.log.txt

mitchbradley:~/workspace (mitch) $ node --version
v4.8.4
mitchbradley:~/workspace (mitch) $ nvm ls
        v0.8.28
       v0.10.48
       v0.12.18
->       v4.8.4
        v6.11.2
         v8.4.0
         system
default -> 6 (-> v6.11.2)
node -> stable (-> v8.4.0) (default)
stable -> 8.4 (-> v8.4.0) (default)
iojs -> N/A (default)

我应该如何进行?

在这一点上我被卡住了。我试图返回到 Node 6 但失败了:

mitchbradley:~/workspace (mitch) $ nvm use 6
module.js:471
    throw err;
    ^

Error: Cannot find module 'process-nextick-args'
    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> (/home/ubuntu/.nvm/versions/node/v6.11.2/lib/node_modules/npm/node_modules/readable-stream/lib/_stream_readable.js:26:23)
    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)
nvm is not compatible with the npm config "prefix" option: currently set to ""
Run `npm config delete prefix` or `nvm use --delete-prefix v6.11.2` to unset it.

“npm config delete prefix”建议没有帮助;之后出现同样的错误。

版本

  • CNCjs:1.9.9
  • 节点.js:6.x
  • NPM:5.x

你如何安装CNCjs?

  • NPM
  • 下载 CNCjs 桌面应用程序

数控系统

  • Grbl
  • 冰沙
  • TinyG/g2核心

硬件

  • 树莓派
  • 台式机或笔记本电脑
  • 移动设备

操作系统

  • 不适用
  • 视窗
  • 苹果
  • Linux
Cloud9 上的构建问题 #208
贡献者作者
米奇布拉德利 评论了 2017 年 9 月 22 日  

好的,我现在有一个在生产模式下运行的 Cloud9 cncjs 构建。从一个全新的 Cloud9 工作区开始,该工作区由 Node.js 模板和 github cncjs 存储库创建:

  npm install -g npm
  npm install -g process-nextick-args
  npm install
  npm run build

将以下行添加到 ~/.cncrc 。(要编辑该文件,它位于 Cloud9 工作区目录上方的目录中,您可以从 bash 窗口运行“c9 open ../.cncrc”。无法从左侧的工作区目录浏览器打开它IDE。)

"allowRemoteAccess": true,

这是必要的,因为 Cloud 9 在与 Node 服务器不同的网络上运行其预览浏览器。

将这个补丁打到 package.json :

diff --git a/package.json b/package.json
index 0ddc29db..c9d618a1 100644
--- a/package.json
+++ b/package.json
@@ -48,6 +48,6 @@
     "build:win-x64": "bash -c 'scripts/electron-builder.sh --win --x64'",
-    "start": "./bin/cnc",
+    "start": "./bin/cnc --port 8080",
     "start-electron": "electron ./dist/cnc/main",
     "watch-dev": "webpack --watch --config webpack.appconfig.development.js",
-    "start-dev": "NODE_ENV=development ./bin/cnc -vv -p 8000 -m /static:~+/static -m /widget:~+/widget",
+    "start-dev": "NODE_ENV=development ./bin/cnc -vv -p 8080 -m /static:~+/static -m /widget:~+/widget",
     "dev": "npm run build-dev && npm run start-dev",

这是必须的,因为 Cloud 9 的预览浏览器需要 8080 端口。

最后,让它继续:

npm 运行开始

然后选择Cloud 9菜单项“Preview > Preview Running Application”来运行连接到cncjs服务器的浏览器。

待提供:在 Cloud 9 上运行 grbl-sim 的说明。

Cloud9 上的构建问题 #208
贡献者作者

在 Cloud 9 上运行 grbl-sim:

https://cnc.js.org/docs/faq/#testing-without-arduino-board上的说明大部分是正确的。一个问题是 Cloud 9 上默认没有安装 socat 包。这里是完整的 Cloud 9 说明,假设 ~/workspace 已经包含 cncjs 存储库:

使用 Window>New Terminal 菜单项或 Alt-T 打开一个新的 bash 窗口。在那个窗口中:

$ cd ~
$ sudo apt-get update
$ sudo apt-get install socat
$ git clone git@github.com:grbl/grbl.git
$ cd grbl/grbl
$ git clone git@github.com:grbl/grbl-sim.git
$ cd grbl-sim
$ make new
$ ~/workspace/examples/grbl-sim/simport.sh

您需要按照上面常见问题解答链接中的说明 5 和 6 为假串口配置 .cncrc。

在某些情况下,我遇到了 cncjs 连接到 /dev/ttyFAKE 但点动按钮变灰的问题。这通常可以通过单击红色重置按钮然后将鼠标移动到串行控制台窗口并按几次 Enter 键来解决。

Cloud9 上的构建问题 #208
合作者

grbl-sim用于实验用途且非常不稳定,在运行 G 代码程序时可能偶尔会挂起或冻结。建议连接到 Arduino 板,但我不确定是否可以为 Cloud9 制作串口代理。

Cloud9 上的构建问题 #208
贡献者作者

关闭问题,因为它已基本解决并且不再可操作。