我知道这个问题已经存在,但他们的回答并没有解决我的问题。
错误是“TypeError:app.listen 不是函数”;
我的完整代码如下,提前致谢。(PS,我没有在同一个端口上运行任何东西)
var io = require('socket.io')(app);
var fs = require('fs');
var serialPort = require("serialport");
var app = require('http');
app.createServer(function (req, res) {
fs.readFile(__dirname + '/index.html',
function (err, data) {
res.writeHead(200);
res.end(data);
});
}).listen(1337, '127.0.0.1');
var port = new serialPort(process.platform == 'win32' ? 'COM3' : '/dev/ttyUSB0', {
baudRate: 9600
});
port.on( 'open', function() {
console.log('stream read...');
});
port.on( 'end', function() {
console.log('stream end...');
});
port.on( 'close', function() {
console.log('stream close...');
});
port.on( 'error', function(msg) {
console.log(msg);
});
port.on( 'data', …Run Code Online (Sandbox Code Playgroud) 我的 dockerfile conf:
FROM ubuntu:16.04
MAINTAINER S.K.
RUN apt-get update
RUN apt-get install curl -y
RUN curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash
RUN export NVM_DIR="$HOME/.nvm"
RUN [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
RUN nvm install node
RUN nvm use 6.9.1
RUN npm i express -g
RUN npm i nunjucks -g
RUN npm i nodemon -g
RUN mkdir -p PROJECT
VOLUME /PROJECT/
EXPOSE 1520
Run Code Online (Sandbox Code Playgroud)
在RUN [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"我得到错误的步骤中:
The command '/bin/sh -c [ -s "$NVM_DIR/nvm.sh" …Run Code Online (Sandbox Code Playgroud) 我想使用nvm. 我不只是想要“最新”,因为那将是 NodeJS 8 或以后的任何版本,现在可能会发生重大变化的版本。
如果它是一个npm依赖项,我可以说nvm install "^4",但这不起作用。有没有一个简单的命令来做到这一点?如果没有,我是否可以在命令行上执行某些操作来查找最新版本并将其安装在适用于 Windows 和基于 Unix 的控制台的单行程序中?
误解了意思,nvm deactivate以为是在nvm和brew版本的node之间切换,用了命令。有没有办法重新激活 NVM?
我的问题是关于nvm但它可能与其他 Node 版本管理,如n或nvs。
您可能已经知道可以像这样使用 SSH 运行远程程序:
ssh user@server COMMAND
Run Code Online (Sandbox Code Playgroud)
例如,命令可以是 Node.js 脚本:
ssh user@devserver 'node ~/getstats'
Run Code Online (Sandbox Code Playgroud)
问题是它不适用于使用nvm. 为什么?因为node实际上是类似/home/user/.nvm/versions/node/v12.1.0/bin/node. 别名安装在~/.bashrc其中,当您使用 SSH 登录时运行。但是当您使用ssh SERVER COMMAND环境脚本执行远程命令时,脚本不会运行,因为 shell 在受限模式下运行。
一种解决方法是创建~/node哪些包含/home/monitor/.nvm/versions/node/v12.1.0/bin/node *和可执行文件,然后您可以执行ssh SERVER './node SCRIPT'. 但这并不完美,因为一旦你升级 Node,路径就会改变,你也需要更新这个文件。
解决将版本托管节点作为远程 SSH 脚本运行的问题的推荐方法是什么?
我有一个依赖项,package.json它本身具有以下依赖项:
"node-rdkafka": "^2.5.0",
使用nvm我的本地机器上,我的节点版本设置8.9.1,我的npm版本是5.5.1,我可以成功运行
npm install node-rdkafka@2.7.1
但是当npm install从我的 docker 镜像中运行相同的东西(即)时:
FROM node:10.13.0-alpine 或者 FROM node:8.9.1-alpine
我收到以下错误:
npm ERR! notsup Unsupported engine for node-rdkafka@2.7.1: wanted: {"node":">=12.0.0"} (current: {"node":"10.13.0","npm":"6.4.1"})
npm ERR! notsup Not compatible with your version of node/npm: node-rdkafka@2.7.1
npm ERR! notsup Not compatible with your version of node/npm: node-rdkafka@2.7.1
npm ERR! notsup Required: {"node":">=12.0.0"}
npm ERR! notsup Actual: {"npm":"6.4.1","node":"10.13.0"}
Run Code Online (Sandbox Code Playgroud)
关于这种不一致的任何想法?
我显然不需要这么高的节点版本。但它说我愿意。
我知道我可以通过nvm useCLI 命令更改节点版本。但是,我想为某个项目(文件夹)设置不同的特定节点版本。它已通过nvm use命令更改,但default version每当我重新启动terminal或webstormIDE时它都会恢复。
如何nvm为某个项目(文件夹)设置记住这个不同的版本?
我正在使用 Big Sur 测试版设置一台新计算机,但无法正确安装或注册 CLT(命令行工具)。我已经安装了 Homebrew,但是当我尝试安装 nvm (brew install nvm) 时出现错误:
Error: Your CLT does not support macOS 11.0.
It is either outdated or was modified.
Please update your CLT or delete it if no updates are available.
Run Code Online (Sandbox Code Playgroud)
我跟随Homebrew 给出了没有找到 SDK (MacOS 11/10.16) 的错误,但没有运气。我已经通过苹果开发人员下载(适用于 Xcode 12)安装了 CLT,但没有运气。我已经直接安装了 Xcode 12,但仍然没有运气。
当我通过xcodeselect -v它查询 CLT 时,它返回:xcode-select version 2383
有谁知道发生了什么?
在 OS X Big Sur 上最近更新了 fish、fisher、bass 和 nvm 之后,我在使用鱼壳时遇到了 npm 和 node 问题。
$节点-v
type: Invalid combination of options
Fish nvm: 'node' is currently not installed, try running npm i -g node
Run Code Online (Sandbox Code Playgroud)
$ npm -v
type: Invalid combination of options
Fish nvm: 'npm' is currently not installed, try running npm i -g npm
Run Code Online (Sandbox Code Playgroud)
NVM 似乎工作正常:
$ nvm 列表
-> v10.16.0
v12.4.0
v12.16.1
v13.11.0
v14.16.0
system
default -> 10.16.0 (-> v10.16.0)
iojs -> N/A (default)
unstable -> N/A (default)
node …Run Code Online (Sandbox Code Playgroud) 当我尝试将 npm 更新到7.20.3 ( npm install -g npm@7.20.3) 时,npm 抛出:
npm ERR! code MODULE_NOT_FOUND
npm ERR! Cannot find module 'agentkeepalive'
npm ERR! Require stack:
npm ERR! - /Users/ShaggyRogers/.nvm/versions/node/v14.16.0/lib/node_modules/npm/node_modules/make-fetch-happen/agent.js
...
Run Code Online (Sandbox Code Playgroud) nvm ×10
node.js ×8
npm ×3
alpine-linux ×1
docker ×1
dockerfile ×1
fish ×1
javascript ×1
linux ×1
ssh ×1