Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
建议在OS X上安装brew、node.js、io.js、nvm和npm的方法是什么?_Node.js_Macos_Npm_Homebrew_Io.js - Fatal编程技术网

建议在OS X上安装brew、node.js、io.js、nvm和npm的方法是什么?

建议在OS X上安装brew、node.js、io.js、nvm和npm的方法是什么?,node.js,macos,npm,homebrew,io.js,Node.js,Macos,Npm,Homebrew,Io.js,我正在尽可能多地使用自制软件。在OSX上安装以下内容的建议方法是什么 并希望支持以下方面的发展: 以下是我的工作: curl https://raw.githubusercontent.com/creationix/nvm/v0.20.0/install.sh | bash cd / && . ~/.nvm/nvm.sh && nvm install 0.10.35 . ~/.nvm/nvm.sh && nvm alias def

我正在尽可能多地使用自制软件。在OSX上安装以下内容的建议方法是什么

并希望支持以下方面的发展:

    • 以下是我的工作:

      curl https://raw.githubusercontent.com/creationix/nvm/v0.20.0/install.sh | bash
      cd / && . ~/.nvm/nvm.sh && nvm install 0.10.35
      . ~/.nvm/nvm.sh && nvm alias default 0.10.35
      
      这个没有自制的

      nvm
      很快将支持io.js,但在发布时不支持:

      然后使用
      package.json
      npm install
      安装每个项目的所有其他内容。我同意noa的观点——如果您需要有多个版本的
      node
      io.js
      ,则brew不是合适的解决方案

      您可以帮助测试nvm中的io.js支持:

      如果您只是想要
      io.js
      并且不切换版本,那么您可以从安装
      io.js
      的二进制发行版;这包括
      npm
      ,如果不切换版本,则不需要
      nvm

      请记住在安装后更新
      npm
      sudo npm install-gnpm@latest

    • 使用
      自制
      安装
      nvm

      brew update
      brew install nvm
      source $(brew --prefix nvm)/nvm.sh
      
      将最后一个命令添加到
      .profile
      .bashrc
      .zshrc
      文件中,以避免在每次终端启动时再次运行该命令。例如,要将其添加到
      .profile
      运行:

      echo "source $(brew --prefix nvm)/nvm.sh" >> ~/.profile
      
      如果使用
      brew
      安装
      nvm
      时遇到问题,可以手动安装(请参阅)

    • 使用
      nvm
      install
      node
      iojs
      (您可以安装所需的任何版本):

    • npm
      node
      (或
      iojs
      )一起提供,因此在安装
      node
      (或
      iojs
      )后即可使用。您可能需要将其升级到最新版本:

      $ npm install -g npm@latest
      
      UPD以前的版本是
      npm更新-g npm
      。感谢@Metallica指出了正确的方法(请看下面的评论)

    • 使用
      npm
      安装
      ionic

      npm install -g ionic
      
    • 关于
      ngCordova
      :您可以使用
      npm
      bower
      安装它。我不知道哪种变体更适合您,这取决于您希望在客户端使用的包管理器。因此,我将描述它们:

    • 使用
      npm
      :转到项目文件夹并在其中安装
      ng cordova

      npm install --save ng-cordova
      
       bower install --save ngCordova
      
    • 使用
      bower
      :安装bower:

       npm install -g bower
      
      然后转到项目文件夹并在其中安装
      ngCordova

      npm install --save ng-cordova
      
       bower install --save ngCordova
      
    • PS

    • 某些命令可能需要超级用户权限
    • npm安装一些u模块的短变体是
      npm i一些u模块

    • 如果您以前使用brew安装过node,那么在“正确”安装node之前,您将有一堆额外的文件需要清理。另外,我必须在我的启动脚本中添加一些设置,以使事情顺利进行

      我写了一个脚本来简化这个过程

      # filename:  install-nvm-npm-node
      # author:    Lex Sheehan
      # purpose:   To cleanly install NVM, NODE and NPM
      # dependencies:  brew
      
      NOW=$(date +%x\ %H:%M:%S)
      CR=$'\n'
      REV=$(tput rev)
      OFF=$(tput sgr0)
      BACKUP_DIR=$HOME/backups/nvm-npm-bower-caches/$NOW
      MY_NAME=$(basename $0)
      NODE_VER_TO_INSTALL=$1
      if [ "$NODE_VER_TO_INSTALL" == "" ]; then
          NODE_VER_TO_INSTALL=v0.12.2
      fi
      if [ "`echo "$NODE_VER_TO_INSTALL" | cut -c1-1`" != "v" ]; then
          echo """$CR""Usage:   $ $MY_NAME <NODE_VERSION_TO_INSALL>"
          echo "Example: $ $MY_NAME v0.12.1"
          echo "Example: $ $MY_NAME $CR"
          exit 1
      fi
      echo """$CR""First, run:  $ brew update"
      echo "Likely, you'll need to do what it suggests."
      echo "Likely, you'll need to run: $ brew update$CR"
      echo "To install latest node version, run the following command to get the latest version:  $ nvm ls-remote"
      echo "... and pass the version number you want as the only param to $MY_NAME. $CR"
      echo "Are you ready to install the latest version of nvm and npm and node version $NODE_VER_TO_INSTALL ?$CR"
      echo "Press CTL+C to exit --or-- Enter to continue..."
      read x
      
      echo """$REV""Uninstalling nvm...$CR$OFF"
      # Making backups, but in all likelyhood you'll just reinstall them (and won't need these backups)
      if [ ! -d "$BACKUP_DIR" ]; then 
          echo "Creating directory to store $HOME/.nvm .npm and .bower cache backups: $BACKUP_DIR"
          mkdir -p $BACKUP_DIR
      fi 
      set -x
      mv $HOME/.nvm   $BACKUP_DIR  2>/dev/null
      mv $HOME/.npm   $BACKUP_DIR  2>/dev/null
      mv $HOME/.bower $BACKUP_DIR  2>/dev/null
      { set +x; } &>/dev/null
      
      echo "$REV""$CR""Uninstalling node...$CR$OFF"
      echo "Enter your password to remove user some node-related /usr/local directories"
      set -x
      sudo rm -rf /usr/local/lib/node_modules
      rm -rf /usr/local/lib/node
      rm -rf /usr/local/include/node
      rm -rf /usr/local/include/node_modules
      rm /usr/local/bin/npm
      rm /usr/local/lib/dtrace/node.d
      rm -rf $HOME/.node
      rm -rf $HOME/.node-gyp
      rm /opt/local/bin/node
      rm /opt/local/include/node
      rm -rf /opt/local/lib/node_modules
      rm -rf /usr/local/Cellar/nvm
      brew uninstall node 2>/dev/null
      { set +x; } &>/dev/null
      
      echo "$REV""$CR""Installing nvm...$CR$OFF"
      
      echo "++brew install nvm"
      brew install nvm 
      echo '$(brew --prefix nvm)/nvm.sh'
      source $(brew --prefix nvm)/nvm.sh
      
      echo "$REV""$CR""Insert the following line in your startup script (ex: $HOME/.bashrc):$CR$OFF"
      echo "export NVM_DIR=\"\$(brew --prefix nvm)\"; [ -s \"\$NVM_DIR/nvm.sh\" ] && . \"\$NVM_DIR/nvm.sh\"$CR"
      NVM_DIR="$(brew --prefix nvm)"
      
      echo """$CR""Using nvm install node...$CR"
      echo "++ nvm install $NODE_VER_TO_INSTALL"
      nvm install $NODE_VER_TO_INSTALL
      NODE_BINARY_PATH="`find /usr/local/Cellar/nvm -name node -type d|head -n 1`/$NODE_VER_TO_INSTALL/bin"
      echo "$REV""$CR""Insert the following line in your startup script (ex: $HOME/.bashrc) and then restart your shell:$CR$OFF"
      echo "export PATH=\$PATH:$NODE_BINARY_PATH:$HOME/.node/bin"
      
      echo """$CR""Upgrading npm...$CR"
      echo '++ install -g npm@latest'
      npm install -g npm@latest
      { set +x; } &>/dev/null
      echo "$REV""$CR""Insert following line in your $HOME/.npmrc file:$OFF"
      echo """$CR""prefix=$HOME/.node$CR"
      echo "Now, all is likley well if you can run the following without errors:  npm install -g grunt-cli$CR"
      echo "Other recommended global installs: bower, gulp, yo, node-inspector$CR"
      
      要安装brew,只需查看其


      请参阅alexpods的答案。

      您应该使用nvm安装node.js,因为这样您在安装全局软件包时就不必提供超级用户权限(您只需执行“npm install-g packagename”,而无需预先添加“sudo”)

      然而,Brew在其他方面也非常出色。每当我选择用Bower安装某些东西时,我倾向于使用Bower。

      我使用的是n(节点版本管理)

      您可以通过两种方式安装它

      brew install n
      

      您可以在不同版本的节点和io之间切换。下面是我当前环境中的一个示例,我在没有参数的情况下调用n:

      $ n
      
        io/3.3.1
        node/0.12.7
        node/4.0.0
        node/5.0.0
      ο node/5.10.1 
      

      我迟到了,但我不喜欢其他答案

      安装自制软件 用于brew运行

      "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
      
      安装节点和npm 不应使用
      brew
      安装节点和npm

      我看到一些地方建议您使用自制软件安装Node(如alexpods answer和本文中的)但是以这种方式安装时,您更容易遇到问题,因为
      npm
      brew
      都是包管理器,您应该有一个包管理器来管理另一个包管理器,这会导致问题,如Officialnpm问题或此问题

      你可以在DanHerbert的帖子中读到更多关于这个话题的内容,他接着说

      此外,使用npm的自制安装将要求您在安装全局软件包时使用sudo。由于Homebrew背后的一个核心思想是应用程序可以在不给它们根访问权限的情况下安装,这是一个坏主意

      其他一切
      我会使用npm;但是,您确实应该按照网站上的说明,按照每个模块的安装说明进行操作,因为对于使用zsh和Homebrew进行安装,他们比其他任何人都更了解任何问题或缺陷

      brew install nvm
      
      然后将以下内容添加到~/.zshrc或所需的shell中 配置文件:

      export NVM_DIR="$HOME/.nvm"
      . "/usr/local/opt/nvm/nvm.sh"
      
      然后安装一个节点版本并使用它

      nvm install 7.10.1
      nvm use 7.10.1
      
      2019年更新:使用NVM安装节点,而不是自制 在大多数答案中,安装nvm的推荐方法是使用自制

      不要那样做

      对于nvm,明确指出:

      不支持自制安装。如果您对 自制已安装nvm,请brew卸载它,然后使用 在提交问题之前,请参阅以下说明

      请改用以下方法

      curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
      
      脚本将nvm存储库克隆到~/.nvm,并将源代码行添加到您的配置文件中(~/.bash_profile、~/.zshrc、~/.profile或~/.bashrc)

      然后使用nvm安装节点。例如,要安装最新的LTS版本,请执行以下操作:

      nvm install v8.11.1
      
      干净利落
      nvm install v8.11.1
      
      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash