【问题标题】:nodeenv -- not linking grunt when installed via npm install -g?nodeenv -- 通过 npm install -g 安装时不链接 grunt?
【发布时间】:2014-03-09 04:23:53
【问题描述】:

我正在尝试使用 nodeenv,但似乎没有为 npm 安装的模块链接二进制文件。

$ mkvirtualenv venv
(venv)$ pip install nodeenv
(venv)$ nodeenv -p
(venv)$ deactivate
$ workon venv
(venv)$ which grunt
/usr/local/bin/grunt
(venv)$ npm install -g grunt
...
(venv)$ which grunt
/usr/local/bin/grunt
(venv)$ cd $WORKON_HOME/venv
(venv)$ ls bin
activate         activate.fish    easy_install     get_env_details  nodeenv          pip              postactivate     preactivate      python
activate.csh     activate_this.py easy_install-2.7 node             npm              pip-2.7          postdeactivate   predeactivate
### no grunt exe!
(venv)$ ls lib/node_modules
fsevents          grunt             mean              npm               recursive-readdir
### but it's in node_modules!

我是不是做错了什么?

【问题讨论】:

  • 奇怪的是,当我使用npm install --save-dev 而不是npm install -g 安装软件包时,这似乎效果更好。任何解释为什么?那是使用nodeenv时应该做的吗?所有示例显示npm install -g
  • 你使用什么版本的python/nodeenv/node? github.com/ekalinin/nodeenv/issues/51

标签: node.js npm virtualenv virtualenvwrapper


【解决方案1】:

您需要停用您的 venv 并使用 source bin/activate 激活它

有一些节点相关的环境变化。我发现它尝试将 nodeenv 集成到我的 jenkins 构建过程中。

另一种方法是手工制作所需的环境。例如 Jenkins Shiningpanda 不允许停用 virtualenv(或者我不知道如何),所以我使用了这个解决方法

pip install nodeenv
nodeenv --python-virtualenv

export NODE_VIRTUAL_ENV=$VIRTUAL_ENV
export PATH=$NODE_VIRTUAL_ENV/bin:$PATH
export NODE_PATH=$NODE_VIRTUAL_ENV/lib/node_modules
export NPM_CONFIG_PREFIX=$NODE_VIRTUAL_ENV

npm install -g bower
bower

【讨论】:

    猜你喜欢
    • 2014-05-24
    • 2020-12-19
    • 2018-10-29
    • 2017-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-05
    • 1970-01-01
    相关资源
    最近更新 更多