最近在尝试使用nvm来管理node版本。我在 Mac OS Catalina(10.15.6) 上成功安装了 nvm,并且可以从终端在版本之间切换。
但是,如果我尝试使用 VSCode 上的集成终端执行相同的操作,我会得到
zsh: command not found: nvm
一直在寻找解决方案或解决方法,但似乎没有相关答案。有人弄清楚这一点吗?
提前致谢
尝试通过yarn和pm2启动节点(next.js)应用程序时收到错误。我的谷歌搜索没有发现任何有用的东西。我怀疑问题出在 nvm 上,尽管我没有足够的经验来了解如何修复它。
Ubuntu 20.04
nvm 0.38.0
节点 v14.5.0
纱线 1.22.10
pm2 4.5.6
生态系统.config.js
module.exports = {
apps: [
{
name: "next",
script: "yarn",
interpreter: "bash",
args: "start:next",
instances: 1,
env: {
NODE_ENV: "development",
},
env_staging: {
NODE_ENV: "production",
},
env_production: {
NODE_ENV: "production",
}
}
]
Run Code Online (Sandbox Code Playgroud)
}
通过以下方式启动文件:
pm2 start ecosystem.config.js --env staging
Run Code Online (Sandbox Code Playgroud)
或者
pm2 start yarn --interpreter bash --name next -- start:next
Run Code Online (Sandbox Code Playgroud)
接收错误:
[TAILING] Tailing last 15 lines for [all] processes (change the value with --lines option)
/home/deploy/.pm2/pm2.log …Run Code Online (Sandbox Code Playgroud) 我从 Microsoft Store 将 WSL 安装到 Windows 10 上。我能够使用https://github.com/nvm-sh/nvm上记录的curl 命令成功地将 NVM 安装到此上
NVM 安装后,我可以运行命令并检查版本。
但是,当我尝试安装节点时,要么是特定版本,nvm install 12.18.1要么nvm install是nvm install --lts我收到一条消息,指出找不到该版本
me:~$ nvm install 12.18.1
Version '12.18.1' not found - try `nvm ls-remote` to browse available versions.
Run Code Online (Sandbox Code Playgroud)
或者
me:~$ nvm install --lts
Installing latest LTS version.
Version '' (with LTS filter) not found - try `nvm ls-remote --lts` to browse available versions.
Run Code Online (Sandbox Code Playgroud)
如果我尝试跑步nvm ls-remote,几秒钟后我就会得到N/A
我之前曾在 MacOS 和另一个非工作 Windows 10 机器上安装过此软件,但之前从未见过此行为。就好像它没有访问nodejs 服务器。 …
我尝试在 ubuntu 18.04 上使用 nvm 安装nodejs。但每次它都会抛出以下错误堆栈
pasindu@pasindu-HP-EliteBook-850-G7-Notebook-PC:~$ nvm install 0.10.35
Downloading and installing node v0.10.35...
Downloading https://nodejs.org/dist/v0.10.35/node-v0.10.35-linux-x64.tar.gz...
Warning: Failed to create the file
Warning: /home/pasindu/.nvm/.cache/bin/node-v0.10.35-linux-x64/node-v0.10.35-li
Warning: nux-x64.tar.gz: Permission denied
curl: (23) Failure writing output to destination
Binary download from https://nodejs.org/dist/v0.10.35/node-v0.10.35-linux-x64.tar.gz failed, trying source.
grep: /home/pasindu/.nvm/.cache/bin/node-v0.10.35-linux-x64/node-v0.10.35-linux-x64.tar.gz: No such file or directory
Provided file to checksum does not exist.
Binary download failed, trying source.
Detected that you have 12 CPU core(s)
Running with 11 threads to speed up the build
Downloading https://nodejs.org/dist/v0.10.35/node-v0.10.35.tar.gz... …Run Code Online (Sandbox Code Playgroud) 我是计算机世界的新手,正在努力在Amazon Linux AMI 2018.03npm上安装该命令
有人可以指导我逐步在我的实例上安装 NPM 命令吗?
谢谢。
我使用 VSCode 和 FNM(快速节点管理器)而不是 NVM。问题似乎是 VSCode 在从源代码管理提交时无法看到 npx 并抛出以下错误:
> git -c user.useConfigOnly=true commit --quiet --allow-empty-message --file -
.husky/pre-commit: 6: npx: not found
husky - pre-commit hook exited with code 127 (error)
Run Code Online (Sandbox Code Playgroud)
我在这里查看了其他答案,它们似乎都指向 NVM 的错误配置路径,但我目前没有使用 NVM。我在 fnm 上:https: //github.com/Schniz/fnm
有什么办法可以解决这个问题吗?
这可能听起来很奇怪,但我想更改本地 Node.js 版本并修改实现Promise以添加新的source实例属性。
global.Promise = class SourcePromise extends Promise {
constructor(params) {
super(params)
this.source = new Error('This is where this promise was created').stack
}
}
Run Code Online (Sandbox Code Playgroud)
这将帮助我调试 Nuxt 应用程序上发生的错误,但仅限于服务器上。我可以通过监听unhandledRejection事件来捕获错误,但返回的错误不是一个Error对象,它只是undefined所以我不知道它来自哪里。的回调unhandledRejection也返回承诺,因此我尝试在nuxt start脚本的最开头添加上面的代码片段,以便能够记录源代码,如下所示:
process.on('unhandledRejection', (error, promise) => {
console.log('Unhandled Rejection:', error?.stack)
console.log('Promise source:', promise.source)
})
Run Code Online (Sandbox Code Playgroud)
但promise.source也是未定义的。如果我从任何脚本登录console.log(Promise.resolve().source),它就会起作用并且我会获得源代码,因此我想到的唯一解释是承诺是在Promise未定义我的扩展的子进程中创建的。
总而言之,由于它发生在一个单独的进程中,并且我无法确定是哪个进程,所以我认为SourcePromise在所有 Node 进程中全局实现的唯一方法是Promise直接在本地版本的 Node 中更改定义。有可能吗?
我在 macOS Monterey 12.3.1 上使用 nvm v0.38.0
编辑
我最终从 …
我曾经使用本地安装的 Node.js v16.x 来运行 Strapi,效果很好。
但最近由于另一个项目,我不得不将其更新到 Node.js v18.x,因此我安装了 NVM 来管理我的 PC 上的多个 Node.js 版本 - 现在我想将 Strapi 与新的 Node.js 一起使用,但我可以甚至不再启动开发模式。夏普的包装有问题。
我不确定 Sharp 包的问题是否是由于新的 Node 版本或 NVM 引起的。由于安装的 Node (v18.17.0) 在 Shap 包 npm 页面(此处)上被列为兼容,我猜问题出在 NVM 上。
nvm list
* 18.17.0 (Currently using 64-bit executable)
16.14.2
Run Code Online (Sandbox Code Playgroud)
我的依赖项:
"dependencies": {
"@strapi/plugin-i18n": "4.16.2",
"@strapi/plugin-users-permissions": "4.16.2",
"@strapi/provider-email-amazon-ses": "4.16.2",
"@strapi/provider-upload-aws-s3": "4.16.2",
"@strapi/strapi": "4.16.2",
"@strapi/utils": "4.16.2",
"pg": "8.11.3",
"reach": "1.0.1",
"react": "^18.0.0",
"react-dom": "^18.0.0",
"react-router-dom": "5.2.0",
"sharp": "^0.33.1",
"slugify": "1.6.6",
"strapi-plugin-config-sync": "1.2.3",
"strapi-plugin-email-designer": "2.2.1", …Run Code Online (Sandbox Code Playgroud) 我正在尝试在Google托管的特定灯服务器上打开一个端口,我通过ssh与服务器连接.
我已经按照这个链接配置了nvm和最新的Node JS(v0.12.5).安装完成后,我在"server.js"文件中使用了这个演示代码并使用命令"node server.js",看起来Node JS正在运行,在服务器控制台上显示"Server ready"消息.现在的问题是,当我使用"netstat -n"检查开放端口时,我没有看到任何1337端口打开,它应该是.我也尝试使用"serverIPaddress:1337"通过浏览器连接,但我得到"Conecting ..."消息,然后没有任何反应.
知道我搞砸了吗?我还对服务器IP地址(localhost:127.0.0.1)或(globalIPaddress)放入server.js文件中感到困惑.
PS:请在下面找到server.js文件脚本.
var http = require('http');
http.createServer(function(req, res) {
res.writeHead(200, {
'Content-Type': 'text/plain'
});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server ready');Run Code Online (Sandbox Code Playgroud)
这是我在我的步骤
steps:
-run:
name: Setup nvm and npm
command: |
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
export NVM_DIR=$HOME/.nvm
source $NVM_DIR/nvm.sh
nvm install 8.9 && nvm alias default 8.9
-run: npm install && npm run lint && npm test
Run Code Online (Sandbox Code Playgroud)
第二步始终失败并显示此错误消息
/bin/bash: npm: command not found
Run Code Online (Sandbox Code Playgroud)
我检查了 .bashrc,我可以看到以下行被添加到文件的末尾
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
Run Code Online (Sandbox Code Playgroud)
Circleci 2.0通过启动一个新的shell来调用step命令 #!/bin/bash -eo pipefail
如果我启动一个docker(docker run -i …