标签: nvm

NodeJS 子进程 EXEC 命令失败,NVM 权限被拒绝 OSX

我试图在 OSX 上的 Nodejs 子进程中启动 nvm 但是,这样做时,我收到以下错误: /bin/sh: /Users/miker/.nvm/nvm.sh: 权限被拒绝。子进程以代码 126 退出(我将其称为 nvm 的显式路径,因为在没有它的情况下运行,子进程看不到可执行文件。)

这很明显是权限问题。但是,我不确定为什么,因为我可以毫无问题地自行启动命令。只有在子进程中启动时才会失败。也许,子进程在另一个配置文件的上下文中运行?如果是这样,有没有办法维持当前的配置文件或上下文?

这是一个示例代码

let exec = require('child_process').exec;

let child = exec('echo $NVM_DIR && $NVM_DIR/nvm.sh use && npm install', {
    cwd: './build/'
});

child.stdout.on('data',
    (data) => {
        console.log(data);
    });

child.stderr.on('data',
   (data) => {
        //throw errors
        console.log(data);
    });

child.on('close', (code) => {
    console.log('child process exited with code ' + code);
});
Run Code Online (Sandbox Code Playgroud)

我正在使用 NodeJS 7.2.1 和 nvm 0.32.1 如果有人有解决此问题的方法,请告诉我。

child-process node.js nvm

2
推荐指数
1
解决办法
4287
查看次数

如何在 Mac 上修复“节点:未找到命令”?Node 是使用 homebrew 中的 nvm 安装的

我使用 Homebrew 在 Mac 上安装了nvm 。

brew update
brew install nvm
mkdir ~/.nvm
nano ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

添加到我的 .bash_profile 中

export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh
Run Code Online (Sandbox Code Playgroud)

然后在我的壳里

source ~/.bash_profile
echo $NVM_DIR
Run Code Online (Sandbox Code Playgroud)

完成这些步骤后,我使用nvm安装了 nodejs

nvm install v6.11.2
Run Code Online (Sandbox Code Playgroud)

问题是当我输入节点时它说节点:找不到命令

$ node
$ -bash: node: command not found
Run Code Online (Sandbox Code Playgroud)

如何让nodejs工作?

下面是我的 .bash_profile

if [ -f `brew --prefix`/etc/bash_completion ]; then
    . `brew --prefix`/etc/bash_completion
fi
export PATH="/usr/local/bin:$PATH"

#for brew nvm
exportNVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh
Run Code Online (Sandbox Code Playgroud)

这是根据nvm的nodejs列表

$ nvm list
        v6.11.2
node -> stable …
Run Code Online (Sandbox Code Playgroud)

macos homebrew node.js nvm

2
推荐指数
1
解决办法
1万
查看次数

webpack 构建时缺少绑定 /myproject/node_modules/node-sass/vendor/linux-x64-57/binding.node

我在构建项目时遇到以下错误。实际上错误说“缺少绑定/myproject/node_modules/node-sass/vendor/linux-x64-57/binding.node”,但我有“缺少绑定/myproject/node_modules/node-sass/vendor/linux-x64-48” /绑定.节点”。我不知道为什么它没有引用“linux-x64-48”?

错误显示 Run npm rebuild node-sass --force,我这样做了,但没有运气。请帮助我摆脱这个问题。

节点版本:v8.9.1

npm:5.5.1

注意:我什至尝试删除整个node_modules并重新安装(npm install)它。但仍然遇到同样的错误。

ERROR in ./node_modules/css-loader!./node_modules/vue-loader/lib/style-compiler?{"vue":true,"id":"data-v-6ef6ca5e","scoped":true,"hasInlineConfig":false}!./node_modules/sass-loader/lib/loader.js!./node_modules/vue-loader/lib/selector.js?type=styles&index=0&bustCache!./src/components/UserProfile.vue
Module build failed: Error: Missing binding /myproject/node_modules/node-sass/vendor/linux-x64-57/binding.node
Node Sass could not find a binding for your current environment: Linux 64-bit with Node.js 8.x

Found bindings for the following environments:
  - Linux 64-bit with Node.js 6.x

This usually happens because your environment has changed since running `npm install`.
Run `npm rebuild node-sass --force` to build the binding for your current environment.
    at module.exports …
Run Code Online (Sandbox Code Playgroud)

node.js npm nvm vue-loader

2
推荐指数
1
解决办法
6324
查看次数

如何执行“sudo nvm”?

在我的 Mac 上,我想将一些需要 su 权限的包迁移到另一个节点版本。

我使用 homebrew 安装 nvm,现在我需要执行 sudo nvm 否则--reinstall-packages会失败。

me@MacBook:~$ sudo nvm
sudo: nvm: command not found
me@MacBook:~$ sudo node -v
v5.4.1
me@MacBook:~$ sudo npm -v
3.3.12
me@MacBook:~$ nvm ls
->       v5.4.1
         v9.6.1
         system
default -> 5.4.1 (-> v5.4.1)
node -> stable (-> v9.6.1) (default)
stable -> 9.6 (-> v9.6.1) (default)
iojs -> N/A (default)
lts/* -> lts/carbon (-> N/A)
lts/argon -> v4.8.7 (-> N/A)
lts/boron -> v6.13.0 (-> N/A)
lts/carbon -> v8.9.4 (-> N/A) …
Run Code Online (Sandbox Code Playgroud)

unix shell terminal node.js nvm

2
推荐指数
1
解决办法
4482
查看次数

使用 NVM 设置节点版本或安装(如果不可用)。

我正在尝试向我的 bash 配置文件添加一些内容,将我的节点版本设置为特定版本,如果未安装节点版本,则安装它。到目前为止我所拥有的是:

. /usr/local/opt/nvm/nvm.sh
if [[ $(nvm use v6.9.1) == "" ]]; then
  nvm install v6.9.1
fi
Run Code Online (Sandbox Code Playgroud)

但是,问题是它$(nvm use v6.9.1)在子 shell 中运行,并且我的节点版本没有切换。

a) 有什么办法可以$(nvm use v6.9.1)在当前shell下运行吗?

b) 有更好的方法吗?

以前我只是在运行,nvm install v6.9.1但这有点慢,这是一个问题,因为每次我打开新终端时它都会运行。

谢谢马特!

bash node.js nvm

2
推荐指数
1
解决办法
3052
查看次数

找不到 npm 命令 pm2:找不到命令

Ubuntu19.04下安装NVM节点但是本地pm2部署生产更新会报pm2: command not found等错误

\n\n

在远程服务器上

\n\n
  root@vultr:/usr/bin# git --version\n  git version 2.20.1\n  root@vultr:/usr/bin# nvm --version\n  0.34.0\n  root@vultr:/usr/bin# node -v\n  v10.15.3\n  root@vultr:/usr/bin# npm -v\n  6.4.1\n
Run Code Online (Sandbox Code Playgroud)\n\n

在本地服务器上

\n\n
  pm2 deploy production update\n--> Deploying to production environment\n--> on host 202.182.98.13\n  \xe2\x97\x8b deploying origin/master\n  \xe2\x97\x8b executing pre-deploy-local\n  \xe2\x97\x8b hook pre-deploy\n  \xe2\x97\x8b fast forward master\nAlready on \'master\'\nYour branch is up to date with \'origin/master\'.\nFrom github.com:zq0904/pm2\nUpdating d79b633..2fe1d22\nFast-forward\n README.md           | 3 ++-\n ecosystem.config.js | 2 +-\n 2 files changed, 3 insertions(+), 2 deletions(-)\n * branch …
Run Code Online (Sandbox Code Playgroud)

nvm pm2

2
推荐指数
1
解决办法
2355
查看次数

安装自制软件后终端无法识别 nvm

我通过自制软件安装了 nvm,但是当我运行 nvm -v 或 nvm --version 表单终端时,我收到消息命令未找到:nvm。当我查看 finder 和 cmd+shift+ 时。我可以看到 ~/.nvm 文件夹。

最初我的用户目录中没有 .bash_profile,所以我添加了一个和命令来根据这篇文章识别 nvm: Brew install nvm。nvm:找不到命令

然而,这并没有解决问题。我以前安装 nvm 时没有遇到过这个问题,这里会发生什么?

我在 macOS Catalina 10.15.6 上

macos bash terminal command-line nvm

2
推荐指数
2
解决办法
2560
查看次数

纱线全局安装在路径中不可用

我正在尝试使用 nvm 和 npm 在 Ubuntu 18.04 上安装纱线。安装成功,显示已全局安装。该which命令也指向正确的目录,但该命令本身无法使用,或者yarn install因为系统尝试使用/usr/bin/yarn它。

$ nvm which current
/home/[user]/.nvm/versions/node/v10.16.0/bin/node

$ npm install -g yarn@1.16.0

$ which yarn
/home/[user]/.nvm/versions/node/v10.16.0/bin/yarn

$ yarn
bash: /usr/bin/yarn: No such file or directory

$ echo $PATH
/home/[user]/.nvm/versions/node/v10.16.0/bin:/home/[user]/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/[user]/bin:...
Run Code Online (Sandbox Code Playgroud)

ubuntu npm nvm yarnpkg

2
推荐指数
1
解决办法
3615
查看次数

PM2 Process Manager 不显示每个项目 package.json 版本的实际版本,而是显示 NVM 版本号

在此输入图像描述

我正在 MacOS 上运行 PM2 列表,并且这些项目节点正在运行托管nvm节点版本。根据对列的期望,versioning它应该分别根据 package.json 版本号显示各个节点进程版本。

但它显示了(节点版本管理器)的版本nvm。这很奇怪。有人有线索还是这是 PM2 的错误?这对使用 MacOS 的队友也发生过这种情况。

node.js nvm pm2

2
推荐指数
1
解决办法
1323
查看次数

无法在 Windows 上使用 nvm 降级 Node.js

我正在尝试通过nvmWindows 10 降级 Node 的版本,但无法让它工作:

C:\projects>nvm全部使用16.13.2
现在使用节点v16.13.2(64位)

C:\projects>节点-v
v17.4.0

(32位和64位上的我nvm installnvm use16.13.2;还尝试重新启动命令提示符,但始终显示v17.4.0)

node.js nvm

2
推荐指数
1
解决办法
981
查看次数

标签 统计

nvm ×10

node.js ×7

bash ×2

macos ×2

npm ×2

pm2 ×2

terminal ×2

child-process ×1

command-line ×1

homebrew ×1

shell ×1

ubuntu ×1

unix ×1

vue-loader ×1

yarnpkg ×1